分类模板筛选器未正确加载自定义分类模板

时间:2013-12-29 作者:Kumar

我正在使用taxonomy_template my中的筛选器plugin 加载模板文件的步骤custom user taxonomies. 这是我正在使用的代码

 add_filter( \'taxonomy_template\', \'get_custom_taxonomy_template\' );
 function get_custom_taxonomy_template($template) {

   $taxonomy = get_query_var(\'taxonomy\');

   if (strpos($taxonomy,\'rcm_user_\') !== false) {
      $taxonomy_template = UT_TEMPLATES_URL ."user-taxonomy-template.php";
      $file_headers = @get_headers($taxonomy_template);
      if( $file_headers[0] != \'HTTP/1.0 404 Not Found\'){
         return $taxonomy_template;
      }
   }
   return $template; 
}
它加载文件,但wordpress函数出现致命错误,如

get_header(), _e()
我尝试使用默认主题,保存永久链接结构。

2 个回复
最合适的回答,由SO网友:Kumar 整理而成

问题在于UT_TEMPLATES_URL用于包含模板。

我在使用file URL 而不是file PATH 这造成了问题。

修改UT_TEMPLATES_URL, 到FILE PATH 修复了此问题。

SO网友:Jørgen

get\\u query\\u var函数需要wp\\u query对象,它不在您的函数范围内,因此您需要包括它:

global $wp_query;
这应该行得通。

--

约根·尤尔

结束

相关推荐

为什么不调用/触发“Plugins_Load”?

我正在打电话load_plugin_textdomain 然而,一旦加载了插件,就不会发生这种情况。我确实激活了一个插件,所以这不应该触发吗?add_action(\"plugins_loaded\", \"test_override\"); function init_localization() { echo \"init_localization<br>\"; load_plugin_textdomain (&#x