是否仅在作者页面上显示完整的最新帖子?

时间:2018-08-30 作者:HBCondo

有没有办法在作者网页上只显示最近的全部帖子,而不显示所有帖子?换句话说,我希望作者网页看起来就像一个单独的帖子页面,但显示该作者的最新帖子。例如www.mydomain.com/author/author-name 应该只显示作者的最新帖子,而不是他们的帖子摘录集。

1 个回复
SO网友:Castiblanco

首先,您需要创建author.php 文件,或者编辑你的主题,在我的例子中,我用2017做了测试,但它没有author.php 文件,所以我创建了它。

<?php
/**
 * The template for displaying all single posts
 *
 * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
 *
 * @package WordPress
 * @subpackage Twenty_Seventeen
 * @since 1.0
 * @version 1.0
 */

get_header(); ?>

    <?php
    $curauth = (isset($_GET[\'author_name\'])) ? get_user_by(\'slug\', $author_id) : get_userdata(intval($author));
    ?>

<div class="wrap">
    <div id="primary" class="content-area">
        <main id="main" class="site-main" role="main">

<?php 
global $query_string;
query_posts( $query_string . \'&posts_per_page=1\' );

while (have_posts()) : the_post(); ?>
     <a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
     <?php the_content(); ?>
<?php endwhile;?>

        </main><!-- #main -->
    </div><!-- #primary -->
    <?php get_sidebar(); ?>
</div><!-- .wrap -->

<?php
get_footer();
关键部分是:

$curauth = (isset($_GET[\'author_name\'])) ? get_user_by(\'slug\', $author_id) : get_userdata(intval($author));
其中我们获取当前用户,然后显示最后一篇帖子,因为我们只想要最后一篇,所以我们说posts_per_page=1.

结束