2017-05-01 15 views
1

私はそれに対してカスタム投稿タイプとタクソノミを作成しました。私は管理者が新しいページ(ページ)を作成するときにページに表示したいタクソノミーを選択できるようにしたい。私はカスタムページテンプレートを作成しました。そのテンプレートが選択されると、利用可能な分類法を示す条件付きカスタムフィールドがあります。カスタムカスタムポストタイプのUIとそのための高度なカスタムフィールドプラグインを使用しました。ページのカスタムフィールド(WP)から選択したカスタム投稿タイプタクソノミーを表示

<?php 
    // this one gets taxonomy custom field 
    $taxo = get_field('top_to_show'); 
    // and from here on, it outputs the custom post type 
    $args = array(
     'post_type' => 'top_item', 
     'post_status' => 'publish', 
     'tops' => $taxo 
    ); 
    $lineblocks = new WP_Query($args); 
    if($lineblocks->have_posts()) { 
     while($lineblocks->have_posts()) { 
     $lineblocks->the_post(); 
     ?> 

<div>Custom post type layout html</div> 

<?php 
     } 
    } 
    else { 
     echo ''; 
    } 
wp_reset_query(); ?> 

ここで、ページのタクソノミーカスタムフィールドに「用語ID」を選択すると、何も表示されません。また、「タームオブジェクト」を選択すると、特に分類されていない分類がすべて表示されます。

具体的に選択されたタクソノミーの投稿を表示するにはどうすればよいですか?その分類によって、投稿を取得する方法

答えて

0

は、taxパラメータで、廃止されました:https://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters

あなたが代わりにtax_queryを使用する必要があります。 'tops'はタクソノミーの名前で、カスタムフィールドはTerm IDのみを返します:

$args = array(
    'post_type' => 'top_item', 
    'post_status' => 'publish', 
    'tax_query' => array(
     array(
      'taxonomy' => 'tops', 
      'field' => 'term_id', 
      'terms' => $taxo, 

     ), 
    ), 
); 
関連する問題