Я працюю над плагіном, який створює спеціальний пост типу "портфоліо" разом з коротким кодом для вставки на будь-яку сторінку чи публікацію.
Короткий код: [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 Я вважаю? Але головне питання, чи може він маніпулювати власними публікаціями замість зображень?