質問: array( 'numberposts' => 8, //8件表示(デフォルトは5件) 'post_type' => 'faq', //カスタム投稿タイプ名 'taxonomy' => 'faq-cat', //タクソノミー名 ←ここが追加 'term' => $term->slug, //ターム名 'orderby' => 'rand', //ランダム表示 'post__not_in' => array($post->ID) //表示中の記事を除外 ); ?> 関連アイテムはまだありません。 ```
回答: (1) `faq`の文字列が閉じられていないのはコピペミスでしょうか。 ``` //'post_type' => 'faq, //カスタム投稿タイプ名 'post_type' => 'faq', //カスタム投稿タイプ名 ``` (2) タクソノミー名は**英小文字とアンダースコアのみ**だったような気がします。 WordPress Codexなどをチェックしてみてください。 関数リファレンス/register taxonomy - WordPress Codex 日本語版 ``` //'taxonomy' => 'faq-cat', //タクソノミー名 'taxonomy' => 'faq_cat', //タクソノミー名 ``` (3) エラーの直接の原因はここですね。 `var_dump(get_the_terms($post->ID, 'faq'));`とソースコードに追加してみてください。 `get_the_terms`関数がエラーを返してきているのがわかります。 ``` //$term = array_shift(get_the_terms($post->ID, 'faq')); $term = array_shift(get_the_terms($post->ID, 'faq_cat')); // タクソノミー名を指定する ``` (4) 複数タームの場合はこんな感じです。 ``` ID, 'faq_cat'); foreach($terms as $term) { echo '' . $term->name . ''; $args = array( 'numberposts' => 8, //8件表示 'post_type' => 'faq', //カスタム投稿タイプ名 'taxonomy' => 'faq_cat', //タクソノミー名 'term' => $term->slug, //ターム名 'orderby' => 'rand', //ランダム表示 'post__not_in' => array($post->ID) //表示中の記事を除外 ); ?> 関連アイテムはまだありません。 ```