サポート » プラグイン » Advanced Custom Fieldsの「タクソノミー」の値で分岐したい

  • 解決済 tamaki75

    (@tamaki75)



    お世話になります。

    Advanced Custom Fieldを利用してユーザープロフィールページに
    カスタムタクソノミー「category」を表示させています。

    [Advanced Custom Field設定画面]
    フィールドラベル:県名
    フィールド名:pref
    フィールドタイプ:タクソノミー
    タクソノミー:category
    フィールドタイプ:radio buttons
    返り値:Term Object

    固定ページに、チェックしたタームの値によって内容を分岐させたものを表示させたいと思っているのですがうまくいきません。

    ↓の例は
    ターム名「aomori」にチェックが入っている場合、ユーザー情報を表示させたい場合です。

    <?php 
     $users =get_users( array('orderby' =>meta_value,																'meta_key' =>yomi,																			 'order'=>ASC,															 'role' => 'contributor',													'has_published_posts' =>true,															));
    foreach($users as $user):
        $uid = $user->ID;
        $count = count_user_posts($uid);
        $userData = get_userdata($uid);
        $term = get_field('pref','user_' . $uid);
       if ($term == 'aomori')://もし青森だったら		 
    	echo '<div class="head_authorpr">';
            echo '<span class="fn">'.$user->display_name.'</span>';
    	echo '<span class="ym">'.$user->user_firstname.'</span>';
            echo '<div class="prof">'.$userData->user_description.'</div>';
    	echo '</div>';
       endif;				 
    endforeach;
    ?>

    どなたかご教示いただけますと幸いです。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは

    カスタムユーザーにタクソノミーを紐付けたことがないのでやったことがないのですが、get_the_termsを使って
    get_the_terms( $uid, 'category' )
    のがいいのではないでしょうか?

    参考)https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_the_terms

    ユーザー編集画面でタクソノミーを選択可能にしている、ということなんですね、きっと。
    多分、wp-usermetaテーブルに保存されるんですね。
    間違ったことを書いてしまった気がします。
    すいません。

    こんにちは

    返り値:Term Object

    返り値をターム オブジェクトにしているので、

    if ($term == 'aomori'):

    if ( $term && $term->slug == 'aomori' ):

    ではないでしょうか。

    ishitaka 様

    if ( $term && $term->slug == 'aomori' ):

    で希望通りの表示になりました。
    $term->slug…盲点でした。
    ありがとうございました。

    munyagu 様

    >ユーザー編集画面でタクソノミーを選択可能にしている、ということなんですね
    そうなんです。
    説明がわかりづらかったですね(;´∀`)
    考えていただきありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。