Intereting Posts
Custom Meta Boxes: сохранение двух значений в одном повторяемом поле Родительская страница и URL-адрес Breadcrumb для пользовательских типов сообщений не работают Не удалось загрузить изображение с помощью стандартного загрузчика в администраторе WP (v4.3) Возможно ли создать страницу без создания в админе? Новое оповещение по электронной почте Как просмотреть все комментарии в сообщении на одной странице в качестве читателя, если включена разбивка на страницы? Пользовательские сообщения, затрагивающие последние сообщения Использование nextGen Gallery .. как я могу назвать список всех имен галереи? Проверка ключевых слов в форматах Gravity get_stylesheet_directory () vs get_template_directory () для дочерней темы CSS Изменения, потерянные функции мобильного телефона Список виджетов для дочерних страниц, исключить текущую страницу Изменить шаблон страницы программно? Где я могу сделать изменение html на определенной странице Как я могу использовать этот термин для кода таксономии?

Изменение 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'); }