Intereting Posts
Получить URI страницы для QR-кода PHP помогите написать собственный скрипт php для настройки приоритета yoast для страниц или сообщений Taxonomy.php, как показывать сообщение только в текущей таксономии с помощью wp_query? Настроить определенную страницу в бэкэнде wordpress (admin), т.е. Страницы> О WP_Query или Simple Loop: петли не работают на пользовательских страницах или файлах шаблонов Получить имя термина без цикла foreach как закодировать код в php-файле из functions.php Создание нескольких меню при использовании темы TwentyTen? Дата не отображается в категории post Пользовательские типы комментариев. Возможны ли они? Как создать динамическую страницу на основе данных формы с помощью плагина? Как написать в каталог плагина? Интеграция плагинов в темы Сообщение об отправке формы Ajax по пользовательским полям Как проверить плагины для вредоносного кода?

Изменить выход в галерею для визуализации по-разному на странице PAGE и POST

Я все еще изучаю WordPress и постепенно улучшаюсь, но мой набор навыков не соответствует параметрам, которые я прошу.

Мне нужно настроить вывод галереи для двух разделов на моем сайте: 1) Страницы портфолио и 2) Блоги

На PORTFOLIO PAGES я хочу, чтобы WP отображал галерею как теги изображений с атрибутами, как показано ниже.

<img width="575" height="500" src="ImagePath/ImageName.jpg" class="attachment-full" alt="Alt Text"> <img width="575" height="500" src="ImagePath/ImageName.jpg" class="attachment-full" alt="Alt Text"> <img width="575" height="500" src="ImagePath/ImageName.jpg" class="attachment-full" alt="Alt Text"> <img width="575" height="500" src="ImagePath/ImageName.jpg" class="attachment-full" alt="Alt Text"> 

Вот код, который я нашел онлайн, который я изменил. Я не полностью понимаю раздел $ output и не уверен в том, чтобы изменить часть его кода. Мне не нужен код «class = 'gallery-item», но я не уверен, что еще мне «не нужно». Нужны ли мне «itemtag», «icontag», «captiontag» и т. Д.? Я не использую их, но не уверен, могу ли я просто удалить. Если я это сделаю, будут ли они по умолчанию возвращаться к основным значениям по умолчанию?

 // ---------------------------------------------------------------- // GALLERY OUTPUT FOR PORTFOLIO PAGES add_shortcode( 'gallery', 'modified_gallery_shortcode' ); function modified_gallery_shortcode($attr) { if(is_page_template('page-portfolio.php')){ // EDIT this slug $attr['size']="full"; $attr['link']="none"; $attr['itemtag']="li"; $attr['icontag']="span"; $attr['captiontag']="p"; $output = gallery_shortcode($attr); $output =strip_tags($output,'<img>'); $output =str_replace(array(" class='gallery-item'"),array(""),$output); }else{ $output = gallery_shortcode($attr); } return $output; } add_filter( 'use_default_gallery_style', '__return_false' ); 

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

 <ul class="gallery"> <li><a href='ImagePath/ImageName.jpg' class="fancybox" rel="group" title='Title Text'><img width="150" height="150" src="ImagePath/ImageName.jpg" class="attachment-thumbnail" alt="Alt Text"></a></li> <li><a href='ImagePath/ImageName.jpg' class="fancybox" rel="group" title='Title Text'><img width="150" height="150" src="ImagePath/ImageName.jpg" class="attachment-thumbnail" alt="Alt Text"></a></li> <li><a href='ImagePath/ImageName.jpg' class="fancybox" rel="group" title='Title Text'><img width="150" height="150" src="ImagePath/ImageName.jpg" class="attachment-thumbnail" alt="Alt Text"></a></li> </ul> 

Я пробовал модифицировать «Выход галереи для страниц портфолио» для соответствия требованиям к форматированию для этого типа сообщений, но не повезло!

 // ---------------------------------------------------------------- // GALLERY OUTPUT FOR BLOG POSTS add_shortcode( 'gallery2', 'modified_gallery_shortcode2' ); function modified_gallery_shortcode2($attr) { if(is_page_template('page-portfolio.php')){ // EDIT this slug $attr['size']="full"; $attr['link']="file"; $attr['itemtag']="li"; $attr['icontag']="span"; $attr['captiontag']="p"; $output = gallery_shortcode($attr); $output =strip_tags($output,'NOT SURE HOW TO FORMAT'); $output =str_replace(array(" class='gallery-item'"),array(""),$output); }else{ $output = gallery_shortcode($attr); } return $output; } add_filter( 'use_default_gallery_style', '__return_false' ); 

ЛЮБАЯ ПОМОЩЬ ОЧЕНЬ ОЧЕНЬ ОЦЕНКА! Спасибо!

Solutions Collecting From Web of "Изменить выход в галерею для визуализации по-разному на странице PAGE и POST"

Чтобы получить изображения из галереи_shortcode в список, я просто последовал примеру. strip_tags, кажется, выделяет все элементы, которые вы определяете, поэтому я сохранил img и li . После этого я просто обернул html в ul чтобы он соответствовал тому, что вы искали. $output – это просто строка, которая генерируется после запуска gallery_shortcode и все после этого просто удаляет материал из этой строки.

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

 add_shortcode( 'gallery', 'modified_gallery_shortcode' ); function modified_gallery_shortcode($attr) { if(is_page_template('page-portfolio.php')) { $attr['size']="full"; $attr['link']="none"; $attr['itemtag']="li"; $attr['icontag']="span"; $attr['captiontag']="p"; $output = gallery_shortcode($attr); $output =strip_tags($output,'<img>'); $output =str_replace(array(" class='gallery-item'"),array(""),$output); } elseif ( 'post' === get_post_type() ) { $attr['size']="full"; $attr['link']="file"; $attr['itemtag']="li"; $attr['icontag']="span"; $attr['captiontag']="p"; $output = gallery_shortcode($attr); // generate html $output = strip_tags($output,'<a><img><li>'); // remove extra tags, but keep these $output = str_replace(" class='gallery-item'", "", $output); // remove class attribute $output = "<ul class=\"gallery\" >$output</ul>"; // wrap in ul } else { $output = gallery_shortcode($attr); } return $output; // final html } add_filter( 'use_default_gallery_style', '__return_false' ); 

Просто используйте обычный ярлык галереи и очень поздно замените функцию рендеринга (обратного вызова) в wp_head :

 add_action( 'wp_head', function() { if ( 'post' === get_post_type() ) return add_shortcode( 'gallery', 'modified_gallery_shortcode2' ); if ( 'portfolio' === get_post_type() ) return add_shortcode( 'gallery', 'modified_gallery_shortcode' ); });