サポート » プラグイン » ACFユーザーとログインユーザーを紐づけて条件分岐

  • 解決済 mikujin

    (@mikujin)


    お世話になります。
    ACFで選択したユーザーとログインユーザーが一致したとき、そのログインユーザー情報のみ表示したいです。(ACFフィールドにて設定)
    また、アーカイブページでも同じことをやりたいです。

    以下のコードを書いています。

    <?php
    $user = get_field('username');
    $loginuser = get_users(); ←ここが分かりません
    ?>
    <?php if ( $user === $loginuser ) : ?>
        <h3><?php echo $user['display_name']; ?></h3> ←ここも意図した出力がされません
    <?php endif; ?>

    ACFで選択したユーザー情報とログインユーザー情報をどの情報で紐づけれるのかが分かりません。
    ネットやフォーラムを見ながら、試行錯誤しておりますが、そもそも本件は実装可能なのか・・・と疑問にも思っているところです・・・

    ご教示頂ければとても助かります。
    どうぞ宜しくお願いいたします。

1件の返信を表示中 - 16 - 16件目 (全16件中)
  • kimipooh

    (@kimipooh)

    2つのコードは同一の処理をしていないので、意図と違うことになるのは当然だろうとは思います。

    やりたいこと
    1.ログインユーザーとACFの値(ユーザー)が一致したとき、ログインユーザー名を出力
    2.管理者の場合、この条件分岐は除外(全コンテンツ表示)

    これをしたい場合で、かつ「管理者かどうか」を最初に条件判定させたい場合には

    1. 管理者じゃない場合
     ログインユーザーとACFの値(ユーザー)が一致
      ログインユーザー名を出力
    2. それ以外(管理者の場合)
     ログインユーザー名を出力

    としないといけないのに、実際のコードについては
    1. 管理者じゃない場合
     ログインユーザーとACFの値(ユーザー)が一致
      ログインユーザー名を出力
    2. それ以外(管理者の場合)
     処理しない(出力しない)

    となっています。
    これコードをみているだけでは気づけ無いのであれば、上記のように言葉で丁寧に書いてみる必要があります。
    このあたりを怠ると意図したことになっていない可能性(抜けてしまっている)が生じるためです。
    ですので、

    2. それ以外(管理者の場合)
     ログインユーザー名を出力

    を追加すればよいようには見えますね。

    • この返信は2年前にkimipoohが編集しました。
1件の返信を表示中 - 16 - 16件目 (全16件中)
  • トピック「ACFユーザーとログインユーザーを紐づけて条件分岐」には新たに返信することはできません。