Пользовательский медиафайл для вставки шорткода


12

Я работаю над плагином, который создает пользовательский тип сообщения «портфолио» вместе с шорткодом для вставки на любую страницу или сообщение.

Шорткод: [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 я верю? Но главный вопрос, может ли он манипулировать пользовательскими сообщениями вместо изображений?


1
Я думаю, что это не очень хорошая идея использовать медиа-редактор для управления пользовательскими сообщениями. Не могли бы вы создать новый тип пантомимы вложения под названием «портфолио» и создать галереи портфолио с помощью существующего управления шорткодом и редактором мультимедиа?
Фабьен Кватраво

Спасибо @FabienQuatravaux, я не уверен, что понимаю, как это должно работать, но сейчас я буду исследовать это направление, не могли бы вы порекомендовать почитать?
Никита

Для чего конкретно используется пользовательский тип записи? Используете ли вы пользовательский тип сообщения только потому, что он вставляет правильное меню в области администратора? Как вы связываете изображение с публикацией портфолио (как показано на скриншоте)?
Fabien Quatravaux

В плагине Twikin я использовал пользовательский тип MIME для прикрепления , но я не уверен, что он полностью соответствует вашему варианту использования.
Фабьен Кватраво

Ответы:


1

введите описание изображения здесь

Посмотрите мое руководство здесь - http://www.wpexplorer.com/wordpress-tinymce-tweaks/ - чтобы вы могли увидеть, как создать всплывающее окно, в котором вы можете выбрать параметры, а не вставить шорткод. Если вы загрузите мой плагин Free Symple Shortcodes, вы также сможете увидеть живую реализацию.

Вместо того, чтобы пользователь выбирал сообщения для вставки, вместо этого добавьте таксономию категорий в свое портфолио, чтобы пользователь мог организовать элементы по категориям. Тогда у вас может быть простой выпадающий список во всплывающем окне, чтобы пользователь мог выбрать, из какой категории он будет извлекать сообщения.

В будущем конечному пользователю будет гораздо проще управлять им, поскольку им просто нужно добавить свои публикации в категорию, и шорткод автоматически отобразит их без необходимости вручную обновлять шорткод для включения новых сообщений.

  • AJ
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.