使用递归函数…获取上个月的帖子

时间:2015-12-01 作者:benoît

可能还有另一种方法,但我想理解为什么这段代码返回null。。。

我只有10月份的帖子,下面是递归函数:

function last_post( $month,$year ) {
    $args  = array( \'monthnum\' => $month, \'year\' => $year );
    $query = new WP_Query( $args );
    var_dump( $month ); // int 11, int 10

    if( $query->have_posts() ){
       return $args;
    } else {
       last_post( $month-1, $year ); // here is the problem ?
    }
}

$args = last_post( 11, $year ); // null but ok with 10

1 个回复
SO网友:benoît

只需添加return函数之前。

function last_post( $month,$year ) {
    $args  = array( \'monthnum\' => $month, \'year\' => $year );
    $query = new WP_Query( $args );
    var_dump( $month ); // int 11, int 10

    if( $query->have_posts() ){
       return $args;
    } else {
       return last_post( $month-1, $year ); // here is the fix!
    }
}

$args = last_post( 11, $year ); // null but ok with 10

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请