Я работаю над плагином, который создает пользовательский тип сообщения «портфолио» вместе с шорткодом для вставки на любую страницу или сообщение.
Шорткод: [portfolio option1=“1” option2=“0” option3=“1” ]
И он работает просто отлично, он показывает все пользовательские сообщения с помощью пользовательских WP_query
. Но я хочу пойти дальше.
Создайте пользовательскую кнопку рядом с upload media
для генерации выходного шорткода портфолио, где пользователь может выбрать, какую публикацию включить и определить все параметры. Таким образом, результат будет:[portfolio option1=“1” option2=“0” option3=“1” ids=“12,311,432,443,” ]
Вот код для кнопки, которую я нашел в wp's media.php:
add_action( 'media_buttons', array( $this, 'media_buttons' ) );
public function media_buttons($editor_id = 'content') {
$post = get_post();
if ( ! $post && ! empty( $GLOBALS['post_ID'] ) )
$post = $GLOBALS['post_ID'];
wp_enqueue_media( array(
'post' => $post
) );
$img = '<span class="wp-media-buttons-icon"></span> ';
echo '<a href="#" id="insert-media-button" class="button insert-media add_media" data-editor="' . esc_attr( $editor_id ) . '" title="' . esc_attr__( 'Add Portfolio' ) . '">' . $img . __( 'Add Portfolio' ) . '</a>';
}
И это делает то, что делает. Но, теперь, что это лучший способ изменить содержимое созданного окна? Вот картинка, как я это вижу, лучше любого описания:
Насколько это может быть сложно и сложно сделать? Я не знаю, в каком направлении мне смотреть, это вообще возможно? Пожалуйста, посоветуйте любые предложения, где я должен начать копать для решения.
PS: Или, может быть, я ошибаюсь в первую очередь и стоит подумать об использовании ThickBox? Но я хочу сохранить внешний вид всплывающего окна загрузки медиа.
Ура!
РЕДАКТИРОВАТЬ:
Ну, может быть, гораздо лучшим решением было бы использовать собственный шаблон шорткода галереи. Нетрудно добавить новый пункт меню в окно загрузки медиафайлов, как это объясняется, например, здесь .
Итак, окончательное видение выглядит примерно так:
Это должно быть сделано с Backbone.js я верю? Но главный вопрос, может ли он манипулировать пользовательскими сообщениями вместо изображений?
Ответы:
Посмотрите мое руководство здесь - http://www.wpexplorer.com/wordpress-tinymce-tweaks/ - чтобы вы могли увидеть, как создать всплывающее окно, в котором вы можете выбрать параметры, а не вставить шорткод. Если вы загрузите мой плагин Free Symple Shortcodes, вы также сможете увидеть живую реализацию.
Вместо того, чтобы пользователь выбирал сообщения для вставки, вместо этого добавьте таксономию категорий в свое портфолио, чтобы пользователь мог организовать элементы по категориям. Тогда у вас может быть простой выпадающий список во всплывающем окне, чтобы пользователь мог выбрать, из какой категории он будет извлекать сообщения.
В будущем конечному пользователю будет гораздо проще управлять им, поскольку им просто нужно добавить свои публикации в категорию, и шорткод автоматически отобразит их без необходимости вручную обновлять шорткод для включения новых сообщений.
источник