web-dev-qa-db-ja.com

管理者であるかフロントエンドであるかを確認するための条件は何ですか?

管理者であるかフロントエンドであるかを確認するための条件は何ですか?

私はバックエンドではなくフロントエンドだけでadd_actionをしたいです。

5
Derfder

is_admin()条件タグ :を見てください。

function wpse106895_dummy_func() {
    if ( ! is_admin() ) {
        // do your thing
    }
}
add_action( 'some-hook', 'wpse106895_dummy_func' );

is_admin() は、アクセスされているURLがダッシュボード/ wp-adminにある場合にtrueを返します。そのため、フロントエンドでは( not演算子 を介した)否定が真になります。

更新 、下記のコメントを参照してください。

function wpse106895_dummy_func() {
    // do your thing
}
if ( ! is_admin() ) add_action( 'some-hook', 'wpse106895_dummy_func' );

あなたのオーバーヘッドを節約します。

7
Johannes Pille

現代のWeb上のバックエンドとフロントエンドは、実際のURLパターン、つまりコードよりも心の状態のようなものです。特定のページがいっぱいになってバックエンドになるかフロントエンドになるかは、そのページにアクセスしているユーザーの種類によって異なります。

Wordpressの文脈では、質問は「テーマがHTMLを生成しているときにアクションを追加したい」(あなたの特定のケースではすべてのフロントエンド生成をカバーするかもしれないしカバーしないかもしれません)に言い換えられるかもしれません。 wordpressがテーマのどのテンプレートを使ってHTMLを生成するかを決める直前に起動されるtemplate_redirectです。

0
Mark Kaplun