0

用語で分類されたカスタム投稿タイプのリストを表示する必要があります。アイデアは次のようなものです。

サービス一覧:

<ul>
 <li>
   <a href="#">Webdesign (taxonomy term)</a>
   <ul>
     <li>Business Website A (custom post type from this taxonomy term)</li>
     <li>Business Website B (custom post type from this taxonomy term)</li>
     <li>Business Website C (custom post type from this taxonomy term)</li>
   </ul>
 </li>
 <li>
   <a href="#">Illustration (taxonomy term)</a>
   <ul>
     <li>Business Illustration A (custom post type from this taxonomy term)</li>
     <li>Business Illustration B (custom post type from this taxonomy term)</li>
     <li>Business Illustration C (custom post type from this taxonomy term)</li>
   </ul>
 </li>
 <li>Other service without taxonomy (if has no taxonomy, show in first level)</li>
</ul>

wp_list_pageswp_list_categoriesを試しましたが、成功しませんでした。

  • 誰かが先に進む方法のヒントを教えてもらえますか?
4

1 に答える 1

1

get_postsまたはWP_Queryをタクソノミー パラメーターと共に使用できます。

http://codex.wordpress.org/Template_Tags/get_posts#Taxonomy_Parameters http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters

get_posts:

<ul>
    <li>
        <a href="#">Webdesign</a>
        <ul>
<?php $items = get_posts( array(
    'post_type' => 'my_post_type',
    'tax_query' => array(
        array(
            'taxonomy' => 'my_taxonomy',
            'field' => 'slug',
            'terms' => 'webdesign'
        )
    )
) );
if( $items ){
    foreach ( $items as $item ){
        setup_postdata( $item );
        echo '<li>' . get_the_title( $item->ID ) . '</li>';
    }
} ?>
        </ul>
    </li>
</ul>
于 2013-04-30T13:17:19.137 に答える