サポート » 使い方全般 » WordPress管理者orゲストユーザーの条件分岐方法

  • 解決済 tuyoshi

    (@tuyoshi)


    WordPress管理者orゲストユーザーの条件分岐方法

    wordpressでカスタムフィールドテンプレートを使ってサイトを構築中のものです。

    通常状態では下書きとレビュー待ちのページへのリンクは表示されないのですが、管理者権限(admin)のみ、下書きとレビュー待ちも含めてすべてリンクを表示できるようにしたいと考えています。

    そのため、管理者権限とゲストユーザーの条件分岐をレビュー画面で行いたいのですが、is_adminという関数を使ってもfalseが返ってきたため困っています。
    管理者とゲストユーザーの条件分岐方法を知りたいです。

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

    (@popup)

    is_admin()は管理者ユーザーを判定するものではないですね。
    http://wpdocs.sourceforge.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/is_admin

    この条件分岐タグは、ダッシュボードまたは管理パネルが表示されているかどうかをチェックします。これは TRUE または FALSE の値を返す boolean 関数です。

    get_currentuserinfo()使うといいかもしれません。

    <?php global $user_ID;
          get_currentuserinfo();
    
          if (管理者のユーザーID == $user_ID) {
              // 管理者への処理
          } elseif($user_ID) {
              // その他のユーザーへの処理
          }
    }
    ?>

    http://wpdocs.sourceforge.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_currentuserinfo

    マルチポストをする場合は、進展状況が分かるようにURLを明記して、必ず両方に結果報告するようにしてください。
    http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1084423440

    popup

    (@popup)

    ゲストユーザーって、単なる訪問者のことですか?
    その場合、以下のようにしてください。

    <?php
        global $user_ID;
        get_currentuserinfo();
    
        if (管理者のユーザーID == $user_ID) {
            // 管理者への処理
        } elseif('' == $user_ID) {
            // ログインしていない訪問者への処理
        }
    }
    ?>

    管理者ユーザーが複数人いる場合は、$user_levelで判定すると便利かもしれません。

    <?php
        global $user_level;
        get_currentuserinfo();
    
        if (10 == $user_level) {
            // 管理者への処理
        } elseif(empty($user_level)) {
            // ログインしていない訪問者への処理
        }
    }
    ?>

    トピック投稿者 tuyoshi

    (@tuyoshi)

    >>popupさん
    ありがとうございます!
    $user_levelで出来ました!

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「WordPress管理者orゲストユーザーの条件分岐方法」には新たに返信することはできません。