マイ忘備録

フィリピン関連のメモ、ワードプレス関連のメモなど

管理者のみ表示ショートコード

囲み型のショートコードをはじめて作ってみた。管理者ログイン時のみ囲った中身を表示する。

ショートコード

add_shortcode('my_is_admin', 'my_isAdmin');
function my_isAdmin( $atts, $content = null ) {
  if ( current_user_can( 'administrator' ) ) {
    return $content;
  } 
}

投稿ページ

<my_is_admin>
あなたは管理者ですね!
</my_is_admin>

参考

WordPressのショートコードを自作してみる | webOpixel
→囲み方ショートコード
WordPressでユーザー情報で条件分岐 – Gatespace's Blog

日本語Codexでは引数に「権限グループ(Role)」でも可能なように書いてありいますが、本家Codexでは「権限(Capabilities)」のみとなっています。
実際に wp-includes/capabilities.php のコメント見てみると $capability Capability or role name となっていて Role でも大丈夫なようで、

https://codex.wordpress.org/Roles_and_Capabilities
関数リファレンス/current user can - WordPress Codex 日本語版
関数リファレンス/is user logged in - WordPress Codex 日本語版