Вывод списка записей или комментариев wordpress
Для фильтрации и вывода определенных записей из разделов или комментариев используется функционал WP_Query. Достаточно лишь определить аргументами то, что нужно показать или отсеять.
Например, для вывода только 10 записей используется posts_per_page=10, а ограничить эти записи только разделом с ID=2 — cat=2
1 2 3 4 5 6 7 8 9 10 11 12 |
<section> <h2>Мои работы</h2> <?php $the_query = new WP_Query( 'posts_per_page=10&cat=2' ); if ( $the_query->have_posts() ) { ?> <ul> <?php while ( $the_query->have_posts() ) { $the_query->the_post(); ?> <li><a href="<? the_permalink() ?>" rel="bookmark" title="<? the_title_attribute() ?>"><? the_title() ?></a></li> <?php } ?> </ul> <?php } wp_reset_postdata(); ?> </section> |
Также можно использовать значения из meta, например, количество просмотров. Нужно учесть что должен быть плагин который считает посещения — PostViews
1 2 3 4 5 6 7 8 |
<h3>Самые популярные записи</h3> <?php $topcomm = new WP_Query( 'meta_key=views&orderby=meta_value_num&order=DESC' ); if ( $topcomm->have_posts() ) { ?> <ul><?php while ( $topcomm->have_posts() ) { $topcomm->the_post(); ?> <li><a href="<? the_permalink() ?>" rel="bookmark" title="<? the_title_attribute() ?>"><? the_title() ?></a></li> <?php } ?> </ul> <?php } wp_reset_postdata(); ?> |
С комментариями дело обстоит почти что так же. Чтобы показать одобренных (status=approve) 10 (number=10) записей используется следующий код:
1 2 3 4 5 6 7 8 9 |
<h3>Последние комментарии</h3> <ul> <?php $comments_query = new WP_Comment_Query; $comments = $comments_query->query( 'status=approve&number=10' ); if ( $comments ) { foreach ( $comments as $comment ) { ?> <a href="<?php echo get_permalink($comment->comment_post_ID) ?>" title="Статья <?php echo get_the_title($comment->comment_post_ID) ?>"> <li class="<? if ($comment->user_id == 1) { echo 'author';} else {echo 'reader';} ?>"><? echo $comment->comment_author . ": " . $comment->comment_content; ?></li></a> <?php }} ?></ul> |
Рассказать: