web-dev-qa-db-ja.com

現在のページの分類用語を取得し、テンプレートにクエリを追加する方法

同じ用語を共有する他の投稿タイプのページにクエリを追加できるように、現在のページの特定の分類用語を取得する方法を見つけようとしています。

基本的に:

  • ページ1に分類用語 - 教育方針があります
  • page.phpには4つの部分があります。
    1. ページを出力しますが、その後に3つのクエリが続く標準ループ
    2. 分類学用語 - 教育方針を持つ出来事のためのループ
    3. 分類用語 - 教育方針を含むレポートのループ
    4. 分類学用語を持つ人々のためのループ - 教育方針

追加のループに用語をハードコードすることができるページ固有のテンプレートを作成しましたが、動的にそれを行う方法を理解する必要があります(元々4または5ページになるはずだったものは現在40または50)。

私は似たような質問をいくつか見つけましたが、実際に自分のやり方で自分のやり方を見つけることができるものはありませんでした。

現在のページの分類法を取得します 実際に求められていることから見ると、少し混乱します。

カスタムsingle-post-type.phpテンプレートページでカスタム分類法に属する用語IDを取得します

私はこれが理にかなっていると多くの感謝を願っています。

14
Christopher

「ページ」オブジェクトタイプの分類法を正しく登録してから、その分類法の用語をページに割り当てた場合は、次のように分類法と用語スラッグにアクセスできます。

get_query_var( 'taxonomy' )
get_query_var( 'term' )

print_r($wp_query)であれば、現在のページを生成するときにそこにあるすべてのパラメータが表示されます。上記のコードで$wp_queryからこれらのパラメータにアクセスしています。

それから、完全な情報を持つオブジェクトという用語を取得するには、 get_term_by functionを使います。

$term = get_term_by( 'slug', get_query_var('term'), get_query_var('taxonomy') );
echo $term->name;

これにより、用語の "Nice"という名前が表示されます。

get_query_var('term')$term->slug(オブジェクトという用語を取得した後)を使用すれば、他のすべてのクエリでそのスラッグを使用できると思います。

それが役立つことを願っています。ページに分類法を使用したことはありません。あなたがどうやって乗ったのか教えてください。

23
dashaluna

コードの下に貼り付けてコピーする

これにより、現在のページの分類名と説明が印刷されます(オプション)。

<?php 
   $tax = $wp_query->get_queried_object();
   echo ''. $tax->name . '';
   echo "<br>";
   echo ''. $tax->description .''; 
?>
2
Varsha Dhadge