修改主循环以显示当前月/年

时间:2013-09-04 作者:Dave

所以pre_get_posts 现在似乎是这样做的-这里很好地解释了很多背景:When to use WP_query(), query_posts() and pre_get_posts

使用此函数,我可以很高兴地修改主循环以显示所选月份:

function loop_current_month( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
    $query->set( \'monthnum\', 3 );
    return;
 }
}
add_action( \'pre_get_posts\', \'loop_current_month\' );
但是,我想修改当前月份和当前年份的循环。

怎么可能$query->set() 拿两个Var?类似于:

$query->set( \'monthnum\', 3 & \'year\', 2013 );
有什么想法吗?

多谢了

1 个回复
最合适的回答,由SO网友:Matt.C 整理而成

您是否尝试过添加第二个$query->set()?

function loop_current_month( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( \'monthnum\', date(\'m\') );
        $query->set( \'year\', date("Y") );
    }
}
add_action( \'pre_get_posts\', \'loop_current_month\' );
这应该得到当月或今年的所有帖子,注意日期(“m”)和日期(“Y”)

结束

相关推荐

Options.php loop won't show!

我正在为存储在选项中的本地主机上的主题创建选项面板。php文件。我的选项面板将有两个主回路。第一个是列出不同的部分,第二个将创建这些部分。我刚刚编写了第一个循环,它在运行时不会显示任何内容。此循环和一些周围html的代码是:<aside> <nav> <ul> <?php foreach ($options as $value){ switch