質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

1回答

264閲覧

Wordpress:現在のページがACFの「フィールドグループを編集」ページであることを判別したい

taaa

総合スコア32

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2019/01/10 20:28

編集2019/01/10 20:29

よろしくお願いします
タイトルの通り、現在表示しているページがAdvanced custom fieldプラグインのフィールドグループ編集ページであることを判別判定したいと思っています

最終的には、該当のページの場合 phpのコードをincludeしたりJS,CSSを読み込ませたりしたいと思っています
どうすべきでしょうか、詳しい方よろしくお願いします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2019/01/11 01:26

「フィールドグループ編集ページ」というのは、具体的にどの画面でしょうか?  また、判定したいのは、どこで判定したいのでしょうか?  なにかの HOOK の中ですか?
guest

回答1

0

ベストアンサー

管理画面(ダッシュボード)のどこにいるかを知りたいということと仮定して回答します。

管理画面は、get_current_screen() 関数で、どのメニューを実行したか判断することはできます。(get_current_screen 関数は、管理画面以外では定義されないので、通常画面ではエラーになります。)

get_current_screen() を実行すると

WP_Screen::__set_state(array( 'action' => '', 'base' => 'edit', 'columns' => 0, 'id' => 'edit-acf-field-group', 'in_admin' => 'site', 'is_network' => false, 'is_user' => false, 'parent_base' => 'edit', 'parent_file' => 'edit.php?post_type=acf-field-group', 'post_type' => 'acf-field-group', 'taxonomy' => '', (以下略) ))

のような配列が返ってきますので、含まれている内容で判別します。

上記は、ACF の「フィールドグループ」( 例: http://example.com/wp-admin/edit.php?post_type=acf-field-group ) を開いた際の内容です。

post_typeが、acf-field-group になっているので、ACF 関連の画面と判断できます。
あとは、idparent_baseparent_file 等で特定します。

get_current_screen 関数については、Function Reference/get_current_screen 参照。

投稿2019/01/11 01:58

編集2019/01/11 02:05
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taaa

2019/01/11 02:34 編集

ありがとうございます 自分でも以下のような方法での判別に気づきました function is_acf_editpage() { if ( !is_admin() || ($pagenow != 'edit.php') ) { global $post; if($post->post_type == "acf-field-group"){ print "<pre>ACF フィールドグループ編集ページです:function.php</pre>"; } } } add_action('admin_notices', 'is_acf_editpage'); 両方の長所を合わせて作業進めたいと思います、お世話になりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問