Я пытаюсь добавить вложения в пользовательский тип сообщения, который не поддерживает редактор (только отрывок).
Мне удалось отобразить диалоговое окно «Медиа-менеджер», но я вижу только кнопку «Вставить в сообщение» (которая в любом случае ничего не делает), и при загрузке изображений они не прикрепляются к сообщению.
Чтобы реализовать то, что я сделал до сих пор, я добавил очень простое мета-поле к типу сообщения:
function add_gallery_post_media_meta_box()
{
add_meta_box(
'gallery_post_media',
'Gallery Media',
'gallery_post_media',
'gallery',
'side',
'high'
);
} // add_file_meta_box
add_action('add_meta_boxes', 'add_gallery_post_media_meta_box');
function gallery_post_media()
{
echo '<a href="#" id="gallery-add-media" title="' . __('Add media') .'">' . __('Add media') .'</a>';
} // end post_media
function register_admin_scripts() {
wp_enqueue_media();
wp_register_script( 'gallery_post_media_admin_script', get_template_directory_uri() . '/library/cpt/gallery.js' );
wp_enqueue_script( 'gallery_post_media_admin_script' );
} // end register_scripts
add_action( 'admin_enqueue_scripts', 'register_admin_scripts' );
И сценарий:
jQuery(document).ready(function ($) {
$('#gallery-add-media').click(function (e) {
var send_attachment_bkp = wp.media.editor.send.attachment;
var button = $(this);
var id = button.attr('id').replace('_button', '');
wp.media.editor.send.attachment = function (props, attachment) {
$("#" + id).val(attachment.url);
wp.media.editor.send.attachment = send_attachment_bkp;
}
wp.media.editor.open(button);
event.preventDefault();
return false;
});
});
Если бы я смог найти какую-нибудь документацию о wp.media.editor.send.attachment
, я бы, наверное, получил то, что хочу, но я не могу найти ничего полезного. Единственные решения, которые я нашел, основаны на настраиваемых полях, вместо этого я хочу просто прикрепить эти изображения к сообщению, не вставляя их в содержимое сообщения, как я делал бы с обычными сообщениями.
В качестве дополнительного вопроса: можно ли указать Media Manager принимать только изображения?