我应该怎么做才能在author.php页面中仅显示某些作者的帖子?我不是指特定的作者(使用作者ID),而是作者的默认页面。使用当前代码,它显示所有其他作者的帖子。我应该使用特定的查询吗?
<?php $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$custom_args = array(
'post_type' => 'post',
// 'order' => 'DESC',
'posts_per_page' => 10,
'paged' => $paged
);
// custom query
$recent_posts = new WP_Query($custom_args);
// check that we have results
if($recent_posts->have_posts()) : ?>
<ul class="article_list">
<?php
// start loop
while ($recent_posts->have_posts() ) : $recent_posts->the_post(); ?>
<li class="regular">
<a href="<?php echo get_permalink(); ?>">
<div class="text">
<p class="category"><?php foreach((get_the_category()) as $category) { echo $category->cat_name . ' '; } ?></p>
<p class="autor"><?php the_author(); ?></p>
<h3 class="article_title"><?php echo mb_strimwidth(get_the_title(), 0, 80, '...'); ?></h3>
<p class="date"><?php echo get_the_date( 'Y-m-d' ); ?></p>
</div>
<div class="mask">
<?php
$url = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
echo '<div class="art_img" style="background: url('. $url.')"></div>';
?>
</div>
</a>
</li>
<?php endwhile; ?>
</ul>
<?php endif;
echo '<div class="pagination">';
if(function_exists('wp_pagenavi')) { wp_pagenavi(array( 'query' => $recent_posts )); }
echo '</div>';
wp_reset_postdata();
?>
答案 0 :(得分:0)
您可以使用wordpress的get_posts函数。
这里是参考: https://codex.wordpress.org/Template_Tags/get_posts
在参数列表中传递所需的作者ID。
答案 1 :(得分:0)
您好,只需在您提供的代码段顶部global $current_user;
变量上方添加$paged
,然后在'author' => $current_user->ID,
数组中添加$custom_args
,这样它将显示作者中特定用户的帖子页面
答案 2 :(得分:0)
在您的查询中添加author__in
尝试一下
<?php $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$custom_args = array(
'post_type' => 'post',
'author__in'=> array(2,4,6), //Authors's id's you like to include
// 'order' => 'DESC',
'posts_per_page' => 10,
'paged' => $paged
);