Вміст для завантаження медіа-вмісту для вставки спеціального короткого коду повідомлення


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
Я думаю, що це, мабуть, не дуже гарна ідея використовувати медіаредактор для управління користувацькими публікаціями. Не могли б ви створити новий тип mime вкладень під назвою "portfolio" та створити галереї портфоліо за допомогою існуючого управління редактором короткого коду та медіа?
Fabien Quatravaux

Дякую @FabienQuatravaux, я не впевнений, що я розумію, як це має працювати, але я зараз досліджу в цьому напрямку, чи можете ви порадити читання?
Микита

Для чого саме використовується спеціальний тип публікації? Чи використовуєте ви власний тип публікації лише тому, що він вставляє належне меню в області адміністратора? Як ви пов'язуєте зображення з публікацією портфоліо (як показано на екрані)?
Фаб'єн Кватраво

У моєму плагіні 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.