仅在Wordpress的作者页面中显示作者帖子

时间:2018-07-02 08:19:13

标签: wordpress author

我应该怎么做才能在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();
?>

3 个答案:

答案 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
);