在ALLOW_URL_INCLUDE关闭的情况下,是否使模板_INCLUDE起作用?

时间:2011-06-22 作者:bybloggers

我正在开发一个插件,它可以创建一个自定义帖子类型,我想在不修改主题的情况下显示一个自定义模板。

下面是我正在使用的简化代码:

add_filter(\'template_include\', \'my_custom_template\');

function my_custom_template($incFile) {
    global $wp;
    global $wp_query;

    if ($wp->query_vars[\'post_type\'] == \'custom-post-type\') {

        $incFile = MY_PLUGIN_TEMPLATES . \'/template.php\';

    }

    return $incFile;

} 
我遇到的问题是,当服务器的php中关闭allow\\u url\\u include时。ini文件,这会引发一个有趣的小错误:

Warning: include()[函数.include]:通过中的allow\\u url\\u include=0在服务器配置中禁用http://wrapperhttp://path\\到\\wp包括\\模板加载器。php在线43

所以我想问题是,有没有一种方法可以通过template\\u include过滤器发送模板,而不触发这个allow\\u url\\u include错误?

谢谢

1 个回复
SO网友:bybloggers

你难道不知道吗?自从我问了我的问题,我已经找到了答案,10分钟或更少的时间。

我试图使用plugins\\u dir\\u url()定义我的\\u PLUGIN\\u模板,现在看起来是这样的,并且正在工作:

define( \'MY_PLUGIN_TEMPLATES\', dirname( __FILE__ ) . \'/templates\' );
感谢mfields建议使用dirname而不是WP\\u PLUGIN\\u DIR。

结束

相关推荐

Enable page templates. How?

基本问题,但我想启用页面模板。我有一个启用了页面模板的主题。我切换到了另一个模板,但没有更改模板的选项,即使在创建新页面时也是如此。如何打开此选项?我在抄本和论坛上找到了根,但找不到。