web-dev-qa-db-ja.com

taxonomy_templateフィルタがカスタム分類テンプレートを正しくロードしない

私はplugintaxonomy_template フィルタを使ってcustom userのテンプレートファイルをロードしています。タクソノミー。これは私が使っているコードです

 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; 
}

それはファイルをロードしますが、私はのようなワードプレス機能のために致命的なエラーを得ます

get_header(), _e()

私はデフォルトのテーマを使ってパーマリンク構造を保存してみました。

2
sven

テンプレートを含めるためにUT_TEMPLATES_URLusedが使用されています。

問題を引き起こしていたのはfile URLではなくfile PATHです。

UT_TEMPLATES_URLFILE PATHに変更すると問題が解決します。

1
sven

Get_query_var関数はwp_queryオブジェクトを必要とします、そしてそれはあなたの関数の範囲内ではありません - あなたはそれを含める必要があります:

global $wp_query;

これでうまくいくはずです。

-

ヨルゲンフエル