使用print_r,PHP函数的输出如何工作?

时间:2014-03-02 05:39:06

标签: php wordpress

我正在尝试使用插件在wordpress页面中打印当前月份。

function RSB_Archive_Function( $atts ) {

    $month = date('M');
    $year = date('y');

    $args = array(
    'posts_per_page'   => 10,
    'offset'           => 0,
    'category'         => '',
    'orderby'          => 'post_date',
    'order'            => 'DESC',
    'include'          => '',
    'exclude'          => '',
    'meta_key'         => '',
    'meta_value'       => '',
    'post_type'        => 'post',
    'post_mime_type'   => '',
    'post_parent'      => '',
    'post_status'      => 'publish',
    'suppress_filters' => true );   

    print_r($month);


} 

add_shortcode('rsb-archive', 'RSB_Archive_Function');

出于某种原因,当我将短代码插入页面时,月份'Mar'将打印在标题上方以及页面中?如下所示:http://www.robotspacebrain.com/archive-coding/

为什么我会这样做?

1 个答案:

答案 0 :(得分:2)

短代码函数应该返回值,而不是输出它。如果没有第二个参数,print_r会在调用时输出值。

尝试

return print_r($month, true);

代替。虽然在这种情况下,我不认为print_r是必要的;只需返回$month