【WordPress】管理画面の条件分岐・判定(if文)【WP】

投稿日:

【WordPress】管理画面の条件分岐・判定(if文)【WP】

ルナリス

ルナリス

今回は管理画面の各ページを判定する方法を解説するわ


よろしくお願いします!

ソルト

ソルト

今回はWordPressの各管理画面を判定する方法を解説します。
管理画面をカスタマイズしたい方は参考にして下さい。

管理画面全体の判定

1
2
3
if( is_admin() ){
    //処理
}

ルナリス

ルナリス

「is_admin()」で管理画面かどうかを判定できるわ


ルナリス

ルナリス

でもこれだけだと管理画面のどのページか判定ができないわ

管理画面、各ページの判定

global変数の「$pagenow」を取得することで、管理画面のどのページにいるか判定することができます。
今回は例として投稿編集画面の判定を行います。

1
2
3
4
5
6
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で細分化すると良いです。
 

 
・カテゴリー編集ページとタグ編集ページを判定する例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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文を書くことで様々なページに対応できます。

まとめ

今回は管理画面の条件分岐・判定を解説しました。
管理画面のカスタマイズの際に参考にして下さい。

ルナリス

ルナリス

管理画面を超改造よ!

参考サイト

WordPress私的マニュアル $pagenow

コメント一覧

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です