Intereting Posts
Как добавить атрибут данных в элемент меню WordPress Невозможно установить wordpress, /wp-admin/install.php, inproper redirection Мой редактор WordPress удаляет все символы после emoji – как я могу это исправить? Добавить новую кнопку «Вставить в сообщение» с другой функцией Пользовательский тип сообщений и отображение пользовательских таксономий Nav-Menu не отображается Любой способ изменить WP-PostRatings, чтобы вы могли только проголосовать? Как запросить изображения из сообщения для использования в слайдере Добавить фильтр, чтобы игнорировать сообщение / страницу или количество сообщений / страниц Условное пользовательское меню? Как добавить .html в конец постоянной ссылки боковая панель не отображается, что случилось с этим кодом? поиск – тип фильтра CPT и отношения для сайта Sports Enthusiast Хороший учебник о том, как создавать пользовательские панели писем в WordPress 3?

Можно добавить одну и ту же подпись ко всем фотографиям в галерее?

Мне было интересно, есть ли возможность добавить одну подпись ко всем изображениям в альбоме в WordPress?

Solutions Collecting From Web of "Можно добавить одну и ту же подпись ко всем фотографиям в галерее?"

Галерея с тем же заголовком для всех изображений:

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

Если мы используем собственный атрибут same_caption в нашем same_caption галереи:

 [gallery ids="1120,1123,1119" same_caption="Same Caption ..."] 

то мы можем получить тот же заголовок для этой галереи.

До: До

После: После Это независимо поддерживается следующими плагинами (PHP 5.4+):

Плагин # 1 – Использование preg_replace() :

 <?php /** * Plugin Name: Gallery With Same Caption (#1) * Description: Support the same_caption gallery attribute. * Plugin URL: http://wordpress.stackexchange.com/a/187938/26350 * Author: Birgir Erlendsson (birgire) * Version: 0.0.1 */ add_action( 'init', function() { add_shortcode( 'gallery', function( $attr = [], $content = '' ) { $output = gallery_shortcode( $attr ); if( isset( $attr['same_caption'] ) ) { $captiontag = isset( $attr['captiontag'] ) ? tag_escape( $attr['captiontag'] ) : 'dd'; $from = "#<{$captiontag}( class='wp-caption-text gallery-caption' )([^>]*)>([^<]*)</{$captiontag}>#"; $to = "<{$captiontag}\\1\\2>" . esc_html( $attr['same_caption'] ) . "</{$captiontag}>"; $output = preg_replace( $from, $to, $output ); } return $output; } ); } ); 

Плагин # 2: Использование suppress_filters и некоторых других перехватчиков:

 <?php /** * Plugin Name: Gallery With Same Caption (#2) * Description: Support the same_caption gallery attribute. * Plugin URL: http://wordpress.stackexchange.com/a/187938/26350 * Author: Birgir Erlendsson (birgire) * Version: 0.0.1 */ namespace wpse\birgire; add_action( 'init', function() { $o = new GalleryWithSameCaption; $o->init(); } ); class GalleryWithSameCaption { private $caption; public function init() { add_filter( 'shortcode_atts_gallery', [ $this, 'shortcode_atts_gallery' ], 10, 3 ); } public function shortcode_atts_gallery( $out, $pair, $atts ) { if( isset( $atts['same_caption'] ) ) { $this->caption = $atts['same_caption']; add_action( 'pre_get_posts', [ $this, 'pre_get_posts' ] ); } return $out; } public function pre_get_posts( \WP_Query $q ) { remove_action( current_action(), __FUNCTION__ ); $q->set( 'suppress_filters', false ); add_filter( 'the_posts', [ $this, 'the_posts' ] ); } public function the_posts( $posts ) { remove_filter( current_filter(), __FUNCTION__ ); return array_map( function( \WP_Post $post ) { $post->post_excerpt = esc_html( $this->caption ); return $post; }, (array) $posts ); } } // end class