サポート » 使い方全般 » カスタム投稿のその記事のカテゴリを取得したい

  • 解決済 sasasa24

    (@sasasa24)


    Custom Post Type UIプラグインにて、カスタム投稿AAAを作成、
    Advance Custom fieldプラグインで投稿画面をカスタマイズしました。
    その後、カスタム投稿のタクソノミーではなく通常の投稿と同じカテゴリーを作成し、archive-AAA.phpに以下を記述しています。

    <div class="content_all">
             <div class="container">
                <div class="row">
                	<h1>○○</h1>
    
                	<h2>キャッチコピーが入ります。</h2>
    
                    <p>説明テキストが入ります。説明テキストが入ります。説明テキストが入ります。説明テキストが入ります。
                    説明テキストが入ります。説明テキストが入ります。説明テキストが入ります。説明テキストが入ります。
                    説明テキストが入ります。説明テキストが入ります。説明テキストが入ります。説明テキストが入ります。</p>
    
                	<ul class="AAA_archive">
    			<?php $args = array(
                                'numberposts' => 6,
                                'post_type' => 'AAA'
                                );
                                $customPosts = get_posts($args);
                                if($customPosts) : foreach($customPosts as $post) : setup_postdata( $post );
    			?>
    
                        <li class="mix <?php echo $category; ?>">
                        	<a href="<?php the_permalink(); ?>">
    			<?php $img = get_field('AAA_fv');
                                    $imgurl = wp_get_attachment_image_src($img, 'full');
                                    if($imgurl){ ?><img src="<? echo $imgurl[0]; ?>" alt="" style="width:100%;" />
                            <? } ?>
                            </a>
                        </li>
    
    		<?php endforeach; ?>
                        <?php else : ?>
                        <?php endif;
                        wp_reset_postdata(); //リセット ?>
                	</ul>
                </div>
            </div>
        </div>

    記事をきちんと出力さることはできたのですが、<?php echo $category; ?>の部分で、
    その記事のカテゴリ名を取得したいのですが、空になってしまったり、
    エラーになったりで取得することができません。

    どのようにすれば取得することができるのでしょうか?
    宜しく御願いいたします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • taku-k

    (@taku-k)

    カテゴリーが1つだけしか選択されていないと仮定して1番簡単な方法は

    <li class="mix <?php echo $category; ?>">

    <?php
    $get_cat = wp_get_object_terms($post->ID, 'category');
    ?>
    <li class="mix <?php echo $get_cat[0]->name; ?>">

    カテゴリーが複数選択されていて、全て出したいならば foreach で複数取得する必要があるかと思います。

    トピック投稿者 sasasa24

    (@sasasa24)

    taku-k様
    お返事が遅くなりまして申し訳ございません。
    教えていただいた通りに記述したら、出力されました。

    ここをスラッグににしたかったので、

    <?php
    $cat = get_the_category();
    $cat_name = $cat[0]->cat_name;
    $cat_slug  = $cat[0]->category_nicename;
    ?>
    <li class="mix <?php echo $cat_slug ?>">

    として、無事に出力できました。
    とても助かりました。ご教授ありがとうございました。
    解決済みにさせて頂きます。

    taku-k

    (@taku-k)

    sasasa24 様

    $cat_name = $cat[0]->cat_name;

    は削除してしまっても大丈夫です。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「カスタム投稿のその記事のカテゴリを取得したい」には新たに返信することはできません。