Як на сторінці вивести список усіх WordPress-записів
Привіт:) У цьому посту покажу, як програмно вивести список усіх опублікованих записів (постів) на сторінці.
У файл functions.php
вставте код
function mp_all_posts_list_shortcode( $atts, $content ) {
ob_start();
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => -1,
'orderby' => 'title',
'order' => 'ASC'
);
$query = new WP_Query( $args );
if( $query->have_posts() ) {
echo '<ul class="all-posts-list">';
while ( $query->have_posts() ) {
$query->the_post();
echo '<li><a href="'.get_the_permalink().'">' .
get_the_title() . '</a></li>';
}
echo '</ul>';
}
wp_reset_postdata();
return ob_get_clean();
}
add_shortcode( 'all_posts_list_shortcode', 'mp_all_posts_list_shortcode' );
Щоб показати на сторінці або в пості список, вставте шорткод
[all_posts_list_shortcode]
Якщо потрібно вивести у коді шаблону теми:
echo do_shortcode( '[all_posts_list_shortcode]' );
Результатом роботи шорткоду буде список у вигляді
<ul class="all-posts-list">
<li><a href="https://site.com/post-title/">Назва посту</a></li>
<li><a href="https://site.com/post-title/">Назва посту</a></li>
<li><a href="https://site.com/post-title/">Назва посту</a></li>
</ul>