如果帖子不超过一个月,则显示每位作者的最新帖子

时间:2014-03-16 12:23:09

标签: php wordpress post title author

我在每个页面上都有一个作者列表(Wordpress),因此该列表存在于循环之外。

我设法用他们的名字显示每个作者的形象,但我想得到他们最新的帖子标题链接到帖子。帖子标题只应在帖子不超过一个月时显示。

任何帮助都将不胜感激。

由于

<?php

        global $wpdb;
        $query = "SELECT ID, user_nicename from $wpdb->users WHERE ID != '1' ORDER BY 'ASC' LIMIT 20";
        $author_ids = $wpdb->get_results($query);

        foreach($author_ids as $author) :

            // Get user data
            $curauth = get_userdata($author->ID);

            // Get link to author page
            $user_link = get_author_posts_url($curauth->ID);
            $post_link = get_permalink($curauth->ID);


            // Set default avatar (values = default, wavatar, identicon, monsterid)
            $main_profile = get_the_author_meta('mainProfile', $curauth->ID);
            $hover_profile = get_the_author_meta('hoverProfile', $curauth->ID);
            $award_profile = get_the_author_meta('awardProfile', $curauth->ID);

    ?>

1 个答案:

答案 0 :(得分:0)

您可以使用WP_Query为您创建新的循环。它从版本3.7开始接受一个很酷的date_query参数。未经测试,但应该工作。

编辑:

$args =  array(
    'showposts' => 1,
    'orderby' => 'date',
    'date_query' => array(
        array(
            'after' => array(
                'year'  => date( "Y" ),
                'month' => date( "m", strtotime( "-1 Months" ) ),
                'day'   => date( "t", strtotime( "-1 Months" ) ),
            ),
            'inclusive' => true,
        )
) );
$query = new WP_Query( $args );

然后你可以运行常规循环

// run the loop with $query
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        echo 'Latest post: ' . get_the_title();
    }
} else {
    // no posts
}