質問: $sub_category->slug; echo '<li class="cat-item '.$slug.'"><a href="'. get_term_link($sub_category->slug, 'product_cat') .'"><img src="'.$image.'" " /><span class="txt">'.$name.'</span></a></li>'; } } echo '<li class="cat-item search">'; get_product_search_form(); echo '</li>'; echo '</ul>'; } //endif !empty ?> ありがとうございます。じゅり
回答: カスタム投稿タイプの投稿を取得するには、一般的にpost_typeをクエリする必要があります。カテゴリのみが必要な場合は、投稿タイプ全体ではなくカテゴリをプルするだけで済みます。<?php query_posts(array( 'post_type' => 'customposttype' )); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <?php the_category(', '); ?> <?php endwhile; else: ?> <p>sorry, no matches found.</p> <?php endif; ?> あるいは、 get_terms() を使うこともできますか? 簡単な例:$terms = get_terms('customposttype'); foreach ( $terms as $term ) { echo $term->name.'<br />'; } そのアーカイブページに何か他のものをリストしていますか。たとえば、同じ投稿タイプの投稿(またはその他の情報)を一覧表示する場合は、それを組み合わせることができます。編集:私は台本の中のコメントを読み終えたことをお詫び申し上げます。あなただけが残りの人たちに助けを必要としていると思った。単にterm idを取得するには、get_terms()を使用することができます(上記参照)。そして、次のパラメータを見てください。 orderby (string) id count name - default slug term_group none order (string) asc - default desc number (integer) the maximum number of terms to return. default is to return them all. fields (string) all - returns an array of term objects - default ids - returns an array of integers names - returns an array of strings count - (3.2+) returns the number of terms found id=>parent - returns an associative array where the key is the term id and the value is the parent term id if present or 0 他のパラメータを含めないと、次のようになります。$customposttype_ids = get_terms( 'customposttype', array( 'orderby' => 'id', 'order' => 'asc', 'number' => 1, 'fields' => 'ids' ) ); すべての値を返してからterm_idを引き出すこともできます。