Intereting Posts
Нечетное поведение кнопки обновления при отображении WP_List_Table Как я могу исправить: «Примечание: неопределенное смещение: 0»? недостаточные разрешения; кодирование действия для плагина, управляемое пользовательскими возможностями Не удалось получить WordPress apply_filters ('site_url'), чтобы вернуть схему https скорость журнала протокола php Как WordPress рассматривает правила перезаписи «под капотом»? Есть ли способ перечислить все действия, зарегистрированные плагином или темой? Можно ли интегрировать пользовательскую функцию входа в WordPress? Создать роль пользователя с разрешениями только загружать файлы в медиа-библиотеку? WordPress В подпапке Как встраивать собственный HTML-код без плагинов? Изображения не отображаются при перемещении сайта на локальный Инструкции: Перевести множественные формы для тем / плагинов с помощью PoEdit VServer / Rootserver / Shared Hosting: несколько установок WordPress, каждый из которых имеет свой уникальный домен? Как указать URLS для пользовательских сообщений и таксономий

Изменение WordPress Shortcode добавлено в сообщение

Проблема: я использую плагин, который превращает галерею wordpress в классное слайд-шоу.

Как всегда, каждый раз, когда я делаю галерею – WordPress, добавьте этот код в сообщение.

[галерея ids = "334,332"]

Мне нужно, чтобы это было так –

[wp-slideshow include = "334,332"]


Может быть полезно: я думаю, что это файл, управляющий выходом?

http://core.trac.wordpress.org/browser/tags/3.0.1/wp-includes/media.php#L745

Solutions Collecting From Web of "Изменение WordPress Shortcode добавлено в сообщение"

remove_shortcode( 'gallery' ); add_shortcode( 'gallery', function( $atts ) { $atts = shortcode_atts( array( 'ids' => '' ), $atts ); return do_shortcode( "[wp-slideshow include=\"$atts[ids]\"]" ); } );

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

Решение MagentaCuda является простым решением и должно функционировать адекватно. Тем не менее, он запускает довольно сложное регулярное выражение shortcode дважды, плюс дополнительная обработка do_shortcode() . Оба следует избегать.

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

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

 // The callback for the wp-slideshow shortcode // I don't know the real function name function plugin_gallery_shortcode( $atts, $content = null ) { $atts = shortcode_atts( array( 'include' => '' ), $atts ); var_dump($atts); } add_shortcode('wp-slideshow','plugin_gallery_shortcode'); // This is a callback we are using to hijack the Core gallery function convert_gallery_shortcode( $atts, $content = null ) { $atts = shortcode_atts( array( 'ids' => '' ), $atts ); $atts['include'] = $atts['ids']; unset($atts['ids']); plugin_gallery_shortcode($atts,$content); } // only hijack if the plugin gallery callback exists if (function_exists('plugin_gallery_shortcode')) { add_shortcode('gallery','convert_gallery_shortcode'); } - // The callback for the wp-slideshow shortcode // I don't know the real function name function plugin_gallery_shortcode( $atts, $content = null ) { $atts = shortcode_atts( array( 'include' => '' ), $atts ); var_dump($atts); } add_shortcode('wp-slideshow','plugin_gallery_shortcode'); // This is a callback we are using to hijack the Core gallery function convert_gallery_shortcode( $atts, $content = null ) { $atts = shortcode_atts( array( 'ids' => '' ), $atts ); $atts['include'] = $atts['ids']; unset($atts['ids']); plugin_gallery_shortcode($atts,$content); } // only hijack if the plugin gallery callback exists if (function_exists('plugin_gallery_shortcode')) { add_shortcode('gallery','convert_gallery_shortcode'); } не // The callback for the wp-slideshow shortcode // I don't know the real function name function plugin_gallery_shortcode( $atts, $content = null ) { $atts = shortcode_atts( array( 'include' => '' ), $atts ); var_dump($atts); } add_shortcode('wp-slideshow','plugin_gallery_shortcode'); // This is a callback we are using to hijack the Core gallery function convert_gallery_shortcode( $atts, $content = null ) { $atts = shortcode_atts( array( 'ids' => '' ), $atts ); $atts['include'] = $atts['ids']; unset($atts['ids']); plugin_gallery_shortcode($atts,$content); } // only hijack if the plugin gallery callback exists if (function_exists('plugin_gallery_shortcode')) { add_shortcode('gallery','convert_gallery_shortcode'); }