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


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.