2016-02-11 1 views
0

Я использую пользовательский wp.editor для пользовательского типа сообщения в редакторе wp. Я просто хочу загрузить только PDF-файлы. Но теперь мой загрузчик может загружать файлы любого типа, но он не показывает мне pdf в списке загружаемых медиа-библиотек.Как изменить тип изображения библиотеки в pdf в wp.editor

Я ищу много, но ничего не получаю. Вот мой код.

медиа-uploader.js

jQuery(document).ready(function($){ 

    // Instantiates the variable that holds the media library frame. 
    var meta_image_frame; 

    // Runs when the image button is clicked. 
    $('#wm_issue_pdf_btn').click(function(e){ 

     // Prevents the default action from occuring. 
     e.preventDefault(); 

     // If the frame already exists, re-open it. 
     if (meta_image_frame) { 
      meta_image_frame.open(); 
      return; 
     } 

     // Sets up the media library frame 
     meta_image_frame = wp.media.frames.meta_image_frame = wp.media({ 
      title: meta_image.title, 
      button: { text: meta_image.button }, 
      library: { type: 'image' } 
     }); 

     // Runs when an image is selected. 
     meta_image_frame.on('select', function(){ 

      // Grabs the attachment selection and creates a JSON representation of the model. 
      var media_attachment = meta_image_frame.state().get('selection').first().toJSON(); 

      // Sends the attachment URL to our custom image input field. 
      $('#wm_txt_issue_pdf').val(media_attachment.url); 
     }); 

     // Opens the media library frame. 
     meta_image_frame.open(); 
    }); 

}); 

functions.php

function wm_image_uploader_enqueue() { 
    global $typenow; 
    if(($typenow == 'digital_archives')) { 
     wp_enqueue_media(); 

     wp_register_script('meta-image', get_stylesheet_directory_uri() . '/js/media-uploader.js', array('jquery')); 
     wp_localize_script('meta-image', 'meta_image', 
      array(
       'title' => 'Upload a PDF', 
       'button' => 'Use this PDF', 
      ) 
     ); 
     wp_enqueue_script('meta-image'); 
    } 
} 
add_action('admin_enqueue_scripts', 'wm_image_uploader_enqueue'); 

И metafield код

<input type="text" name="wm_txt_issue_pdf" id="wm_txt_issue_pdf" value="<?php echo $wm_txt_issue_pdf; ?>" style="width: 77%"> 
<input type="button" id="wm_issue_pdf_btn" class="button" value="Upload a PDF" /> 

Пожалуйста гуй как я могу это сделать.

+0

вы получаете ошибку? – Naumov

+0

не получили ошибок – deemi

ответ

0

Это должно работать:

function modify_file_types($file_types) { 

    $file_types['application/pdf'] = array(__('PDFs'), __('Manage PDFs'), _n_noop('PDF <span class="count">(%s)</span>', 'PDFs <span class="count">(%s)</span>')); 

    return $file_types; 

} 

add_filter('post_mime_types', 'modify_file_types'); 

Это сделать загрузку на только пользовательские типы сообщение:

function wm_image_uploader_enqueue() { 
    global $typenow; 
    if(is_singular('digital_archives')) { 
     wp_enqueue_media(); 

     wp_register_script('meta-image', get_stylesheet_directory_uri() . '/js/media-uploader.js', array('jquery')); 
     wp_localize_script('meta-image', 'meta_image', 
      array(
       'title' => 'Upload a PDF', 
       'button' => 'Use this PDF', 
      ) 
     ); 
     wp_enqueue_script('meta-image'); 
    } 
} 
add_action('admin_enqueue_scripts', 'wm_image_uploader_enqueue'); 
+0

Могу ли я ограничить его только для моего персонализированного типа digital_archive – deemi

+0

Ограничить представление загрузки или списка? – designtocode

+0

Ограничение загрузки только для персонализированного типа сообщений – deemi