Intereting Posts
Лучший способ защитить загруженные носители в WordPress? Попытка запросить все должности в категории 4 Подключить тип сообщения как пользовательскую таксономию к пользователям и другой пользовательский тип сообщения в панели администратора Изменение следующего кода для отображения заголовка и содержимого страницы статических страниц? Устаревший: mysql_connect (): Отображение списка сообщений в категории Обработка вложений электронной почты и определение неподдерживаемых типов файлов Удаление изображений в Media Gallery add_post_meta Добавляет метатету post, но значение пустое Как закрыть tinymce inline popup Заполнить пользовательские поля в пользовательском типе сообщений? Правильное использование get_the_terms () Использование фильтров для изменения href ссылки на страницу меню навигации Как перехватить и изменить функции wp_get_attachment_image ()? Разбиение страниц в архивах

добавить заголовок короткого кода, показывающий несколько раз

Привет, мой код ниже для добавления короткого кода в сообщениях. когда я добавляю shortcode два раза, он показывает мне заголовок два раза, что я добавил в код «Последние сообщения», есть ли способ показать этот заголовок только верхним средством один раз? введите описание изображения здесь

/*shortcode start*/ add_shortcode( 'recent-posts', 'PL_recent_posts' ); function PL_recent_posts( $atts ) { extract( shortcode_atts( array( 'numbers' => '5', 'order' => 'ASC', ), $atts ) ); $rposts = new WP_Query( array( 'posts_per_page' => $numbers, 'orderby' => 'date' , 'colorss' => $color ) ); if ( $rposts->have_posts() ) { $html = '<h3>Recent Posts</h3><ul class="recent-posts">'; while( $rposts->have_posts() ) { $rposts->the_post(); $html .= sprintf( '<li><a href="%s" title="%s">%s</a></li>', get_permalink($rposts->post->ID), get_the_title(), get_the_title() ); } $html .= '</ul>'; } wp_reset_query(); return $html; } 

Добавьте оболочку к выходу плагина

 if ( $rposts->have_posts() ) { $html = '<div class="pl_recent_posts">'; $html .= '<h3>Recent Posts</h3><ul class="recent-posts">'; while( $rposts->have_posts() ) { $rposts->the_post(); $html .= sprintf( '<li><a href="%s" title="%s">%s</a></li>', get_permalink($rposts->post->ID), get_the_title(), get_the_title() ); } $html .= '</ul>'; $html .= '</div>'; } 

Создание пользовательского файла CSS

 .pl_recent_posts:not(:first-of-type) h3 { display: none; } 

И вставьте файл CSS

 function pl_recent_posts_styles() { wp_enqueue_style( 'pl_recent_posts_style', plugins_url('stylesheet.css', __FILE__) ); } add_action( 'wp_enqueue_scripts', 'pl_recent_posts_styles' ); 

Это не полностью удаляет его из DOM, но скрывает его из вида

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

  2. Возможно, вы захотите посмотреть на wp_get_recent_posts () для такого использования, тем более, что эти запросы, по-видимому, не заменяются или вообще не выполняются в цикле (в связи с этим не уверены, почему вы используете новый запрос и сбрасываете.

Взяв вопрос буквально, хотя все еще немного озадачен:

 /*shortcode start*/ add_shortcode( 'recent-posts', 'PL_recent_posts' ); function PL_recent_posts( $atts ) { extract( shortcode_atts( array( 'numbers' => '5', 'order' => 'ASC', ), $atts ) ); //colorss? $rposts = new WP_Query( array( 'posts_per_page' => $numbers, 'orderby' => 'date' , 'colorss' => $color ) ); if ( $rposts->have_posts() ) { //this could also go outside this loop (you'll always have at least 1 recent post!) $html = '<h3>Recent Posts</h3>'; $add_html = '<ul class="recent-posts">'; while( $rposts->have_posts() ) { $rposts->the_post(); $add_html .= sprintf( '<li><a href="%s" title="%s">%s</a></li>', get_permalink($rposts->post->ID), get_the_title(), get_the_title() ); } $add_html .= '</ul>'; } wp_reset_query(); $add_html .= $add_html; $html .= $add_html; return $html; }