【WordPress】管理画面の条件分岐・判定(if文)【WP】
投稿日:
ルナリス
今回は管理画面の各ページを判定する方法を解説するわ
よろしくお願いします!
ソルト
今回はWordPressの各管理画面を判定する方法を解説します。
管理画面をカスタマイズしたい方は参考にして下さい。
管理画面全体の判定
if( is_admin() ){ //処理 }
ルナリス
「is_admin()」で管理画面かどうかを判定できるわ
ルナリス
でもこれだけだと管理画面のどのページか判定ができないわ
管理画面、各ページの判定
global変数の「$pagenow」を取得することで、管理画面のどのページにいるか判定することができます。
今回は例として投稿編集画面の判定を行います。
if( is_admin() ){ global $pagenow; if( $pagenow == 'post.php' ){ //処理 } }
3行目のpost.phpをそれぞれ好きなページに変えることで各ページの判定をすることができます。
ページリスト
主なページリストを記載しますので参考にして下さい。
良くわからなかったら管理画面のURLを確認すると良いです。
$pagenowの値 | ページの種類 |
---|---|
index.php | ダッシュボード |
post.php | 投稿、固定ページ編集画面 |
post-new.php | 新規投稿画面 |
edit.php | 投稿一覧 |
edit-tags.php | カテゴリ・タグ編集 |
upload.php | メディア一覧 |
media-new.php | メディアアップロード |
profile.php | プロフィール |
tools.php | ツール |
options-general.php | 設定 |
wp-login.php | ログイン |
admin.php | プラグインやテーマで拡張したページ |
URLから判定
URLから更に細かく判定することが可能です。
上の処理で判定し、さらにURLで細分化すると良いです。
・カテゴリー編集ページとタグ編集ページを判定する例
if( is_admin() ){ global $pagenow; $request_uri = $_SERVER['REQUEST_URI']; //カテゴリ・タグ編集ページ if( $pagenow == 'edit-tags.php' ){ //カテゴリーの処理 if( strpos($request_uri,'taxonomy=category') !== false ){ } //タグの処理 if( strpos($request_uri,'taxonomy=post_tag') !== false ){ } } }
簡単な解説
URLの?taxonomy=categoryなどはパラメータと呼び、WordPressの管理画面でも使用されています。
そこでパラメータを取得して、「category」が含まれていたらカテゴリーページ、「post_tag」が含まれていたらタグページ。
といったように判定することができます。
つまり、URLを確認してif文を書くことで様々なページに対応できます。
まとめ
今回は管理画面の条件分岐・判定を解説しました。
管理画面のカスタマイズの際に参考にして下さい。
ルナリス
管理画面を超改造よ!
コメント一覧