サポート » 使い方全般 » 管理者権限によって公開サイトの処理を分けたい

  • 管理者権限でWordPress管理画面にログインしている状態で、公開サイトを開いたとき、一般ユーザーと表示する項目を分けたいと考えています。

    公開サイト側でwp_get_current_userを使い、ユーザー情報の取得を試みましたが、ユーザー情報が取得できませんでした。
    管理画面にログインした状態で、同じブラウザで閲覧していますが、公開サイト側で取得できない状況です。

    管理画面でダンプするとユーザー情報が出ているのですが、公開サイト側に引き継がれないのでしょうか?

    また、管理者かどうかを判定し、処理を振り分ける方法をご存知の方おられましたら、ご教授いただけると幸いです。

    使用しているテーマは、「storefront」です。
    https://ja.wordpress.org/themes/storefront/

    
    wp_get_current_user()
    
    object(WP_User)#9332 (8) {
      ["data"]=>
      object(stdClass)#9345 (0) {
      }
      ["ID"]=>
      int(0)
      ["caps"]=>
      array(0) {
      }
      ["cap_key"]=>
      NULL
      ["roles"]=>
      array(0) {
      }
      ["allcaps"]=>
      array(0) {
      }
      ["filter"]=>
      NULL
      ["site_id":"WP_User":private]=>
      int(0)
    }
    
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • こんにちは

    また、管理者かどうかを判定し、処理を振り分ける方法をご存知の方おられましたら、ご教授いただけると幸いです。

    current_user_can() で管理者権限による条件分岐を行うことができます。

    if ( current_user_can( 'administrator' ) ) {
    	// 管理者権限
    }

    公開サイト側でwp_get_current_userを使い、ユーザー情報の取得を試みましたが、ユーザー情報が取得できませんでした。

    wp_get_current_user() で取得できない原因は分かりません。実行順の速いフック(after_setup_theme や set_current_user など)では取得できませんが・・・。

    current_user_can() も機能しないかもしれません。その場合は「問題解決のためのチェックリスト」をお試しください。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「管理者権限によって公開サイトの処理を分けたい」には新たに返信することはできません。