在wordpress上需要文件时返回1

时间:2015-04-05 09:36:30

标签: wordpress-plugin wordpress

我只是想问一个简单但却非常麻烦的问题,让我们明白这一点

为什么当我在add_filter()中写一个require时,它会在文本末尾返回不需要的1个整数?这是代码

function satufu_template( $satufu_content ){
    if ( is_singular( 'satufu_projects' ) ){
        $located = locate_template('satufu-template.php');
        if ( !empty($located) ){

        } else {
            echo require plugin_dir_path(__FILE__) . 'template.php';
        }
    } else {
        return $satufu_content;
    }
}

add_filter('the_content','satufu_template');

这是我要求的模板文件

typo<?php

echo $satufu_content;

这是输出

test
//SomeMyAwesomeContent
1

这是var_dump()包装器的输出

test
//SomeMyAwesomeContent
int(1)

这是一个简单的1整数,毁了我的生活(好吧,我试了两天只是为了调试这个,直到我放弃。

非常感谢你的关注,并且真的希望这个很棒的论坛能够杀死这个小小的bug:)

1 个答案:

答案 0 :(得分:1)

使用echo时,您不必使用require。 只需更改:

echo require plugin_dir_path(__FILE__) . 'template.php';

为:

require plugin_dir_path(__FILE__) . 'template.php';

目前出现“1”是因为您正在回应require的结果,这是成功的 (1 - 真,0 =假)。

参考:http://php.net/manual/en/function.require.php