Wordpress查询在X天内显示大多数评论文章

时间:2012-05-29 07:40:26

标签: php wordpress widget

我正在创建一个wordpress小部件,以显示过去4天内评论最多的文章。

到目前为止我有这个

global $wpdb;
global $pagepost;


function filter_where( $where = '' ) {
    // posts in the last 4 days
    $where .= " AND post_date > '" . date('Y-m-d', strtotime('-4 days')) . "'";
    return $where;
}

add_filter( 'posts_where', 'filter_where' );
$the_query = new WP_Query( 'posts_per_page=4;orderby=comment_count' );

remove_filter( 'posts_where', 'filter_where' );
?>
    <ul>
    <?php while ( $the_query->have_posts() ) : $the_query->the_post();
    echo "<li>";
    echo "<a href='".get_permalink()."' class='linkTitle'>";
    echo get_the_title();
    echo "</a>";
    woo_post_meta(); 
    echo "<div class='fix'>";
    echo "</li>";   
 endwhile;
    echo "</ul>";
wp_reset_postdata();

我在wordpress网站上找到的内容应该返回由comment_count命令的过去4天内的文章

但它只是向我展示了我的最后4篇文章,我确信我在这里做了一些非常明显的错误,但我无法得到它

我希望过去4天内发布文章的评论最多的4篇文章。

有人请保存我留下的小头发

2 个答案:

答案 0 :(得分:3)

感谢@swapnesh我找到了答案。

我的查询不正确,应该是这样的

    $the_query = new WP_Query(array( 'posts_per_page' => 4, 'orderby' => 'comment_count', 'order'=> 'DESC' ));

答案 1 :(得分:0)

$ querystr =“ SELECT $ wpdb-&gt; posts。* FROM $ wpdb-&gt;帖子WHERE 1 = 1 AND $ wpdb-&gt; posts.post_status ='publish'AND $ wpdb-&gt; posts.post_type ='post'ORDER BY $ wpdb - &gt; posts.comment_count DESC “;

使用此自定义查询

$ pageposts = $ wpdb-&gt; get_results($ querystr,OBJECT); 回声 '

'; print_r($pageposts); echo'
';