我正在开发一个插件,它可以创建一个自定义帖子类型,我想在不修改主题的情况下显示一个自定义模板。
下面是我正在使用的简化代码:
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错误?
谢谢
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。