В моем плагине я хотел бы добавить две кнопки в Media Manager (слева от «Вставить в пост» в разделе «media-toolbar-primary») и подключить к нему действие jQuery.
- Первый - кнопка «Выбрать все» позволяет выбрать все доступные изображения (только изображения), в зависимости от выбранного значения параметра (например, все элементы мультимедиа, загруженные в этот пост и т. Д.). Таким образом, если выбран «Все элементы мультимедиа» - будут выбраны все доступные изображения, если выбран «Загружен в это сообщение» - будут выбраны только изображения, прикрепленные к текущему сообщению.
- Второй - «Custom Insert Into Post» - получит данные изображений для всех выбранных изображений (источник изображения в полном размере, альтернативный текст, размер и т. Д., Которые доступны), и при этом позволяет обернуть их в дополнительный HTML-код - вернуть код в редактор tinymce.
Возвращенный код для второй кнопки может выглядеть так:
<ul>
<li><img src="full/path/to/001.jpg" alt="alt text 1" /></li>
<li><img src="full/path/to/002.jpg" alt="alt text 2" /></li>
<li><img src="full/path/to/003.jpg" alt="alt text 3" /></li>
<li><img src="full/path/to/004.jpg" alt="alt text 4" /></li>
<li><img src="full/path/to/005.jpg" alt="alt text 5" /></li>
</ul>
Насколько я понимаю, единственный способ - это использовать переопределение соответствующего представления Backbone, но кроме этого это все, что я знаю на данный момент.
Спасибо за помощь.
источник
У меня нет полного ответа на ваш вопрос, но вот хорошее начало. Чтобы настроить новый Media Manager, вы должны изучить базовый код javascript в
wp-includes/js/media-views.js
. Например, вот небольшой плагин, который добавляет кнопку «Выбрать все» на панель инструментов «Вставить из URL»:custom.php
:custom.js
:Для кнопки «Пользовательская вставка в сообщение» я предлагаю вместо этого использовать шорткод галереи. Пользовательский интерфейс уже существует, чтобы выбрать нужные изображения и вставить шорткод в нужном месте в tinymce. Все, что вам нужно сделать, это написать свой собственный формат шорткода галереи.
Взгляните на
gallery_shortcode
функцию вwp-includes/media.php
и используйтеpost_gallery
фильтр.источник
Томас Гриффин создал пример плагина New Media Image Uploader о том, как работать с новым медиа-менеджером.
источник
Я только что столкнулся со случаем в WP 3.6, когда ответ aesqe (очень полезный) приводит к тому, что изображения вставляются дважды из-за наличия магистрали,
state.get("selection")._byId
включая обаid
иcid
для каждого выбранного изображения.Изменение
state.get("selection")._byId
вstate.get("selection").models
исправил для меня, сохраняя атрибуты каждого объекта.Надеюсь, это спасет кого-то от разочарования. Я бы написал это как комментарий, а не как ответ, но, увы, у меня нет репутации.
источник