• 解決済 sasasa24

    (@sasasa24)


    カスタム投稿の記事を全て表示し、divに各記事の属するタームのスラッグをclassとして付与したいです。
    下記コードで実行し、タームのスラッグが付与されたのですが、なぜかすべて同じタームのスラッグが付与されてしまいます。

    <?php
    	$n = 0;
    	$args = array(
    	'numberposts' => -1,
    	'post_type' => 'AAA',
    	'taxonomy' => 'BBB'
    	);
    	$customPosts = get_posts($args);
    if($customPosts) : foreach($customPosts as $post) : setup_postdata( $post );
    	$cat = get_terms();
    	$cat_slug = $cat[0]->slug;
    ?>
    	<div class="<?php echo $cat_slug ?>">
    ~中略~
            </div>
    <?php
    	$n++;
    endforeach; ?>
    <?php else : ?>
    <?php endif;
     wp_reset_postdata(); ?>

    どこを修正すればいいのか、もしお分かりになる方がいれば教えて頂けないでしょうか?
    よろしくお願い致します。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • gblsm

    (@gblsm)

    get_terms() ではなく get_the_terms() だと思いますよ。

    トピック投稿者 sasasa24

    (@sasasa24)

    gblsm様
    回答ありがとうございます。
    get_the_terms()に変えてみたところ

    Missing argument 2 for get_the_terms(), called in /xxx.php on line 31 and defined in

    というエラーメッセージが出てしまいました。。
    何か大元の方が間違っているのでしょうか。。

    gblsm

    (@gblsm)

    sasasa24さん、使い方の説明を確かめましょう。
    関数リファレンス/get the terms – WordPress Codex 日本語版

    トピック投稿者 sasasa24

    (@sasasa24)

    gblsm様
    そもそもの使い方が違っていたんですね。。
    申し訳ございませんでした。
    教えて頂いてありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カスタム投稿のタームのスラッグを出力したい」には新たに返信することはできません。