使用过滤器 template_include 的白页

White page by using the filter template_include

我正在开发我的插件并试图覆盖一些模板。

如果我访问 portfolio 页面,我的屏幕会显示一个白页。

这是我的代码

define("PLUGIN_DIR_PATH", plugin_dir_path(__FILE__));
add_filter( 'template_include', 'plugin_tweak_template', 99);

function plugin_tweak_template( $template ) {
    if ( is_page('portfolio')) {
        $template = PLUGIN_DIR_PATH . 'required/templates/portfolio.php';
    }
    return $template;
}

我在我的插件根文件中使用了这段代码。

我认为定义路径有冲突。 定义("PLUGIN_DIR_PATH", plugin_dir_path(__FILE__));

PLUGIN_DIR_PATH 是许多教程中的示例,但您可以定义一次。

你是否有另一个插件检查这个插件的定义名称,如果这是相同的名称你有冲突。

永远记住:自己使用变量名等,防止出现问题。