web-dev-qa-db-ja.com

'init_frontend'のようなアクションはありますか

Initとinit_adminが見つかりました。フロントエンドで実行されるアクションはありますか?ありがとう。

3
thom

add_action()is_admin()チェックを組み合わせることができます。

! is_admin() and add_action( 'init', 'my_custom_callback' );

これで、コールバック関数はフロントエンドでのみ実行されます。

5
fuxia

'template_redirect'が最も便利なものです。

2
scribu

パーティーに遅刻したが、他の答えはそれほど明確ではなかった。

フロントエンド専用のinit-likeフックはありません。

admin_initonlyはダッシュボードで実行されます。

initbothフロントエンドダッシュボードで動作します。

そのため、組み込みのWordPress関数 is_admin()initフックを組み合わせることで、フロントエンドだけを実行できる関数を構築できます。

add_action( 'init', 'my_init_frontend_only_function' );

function my_init_frontend_only_function() {
    // exit function if not on front-end
    if ( is_admin() ) {
        return;
    }

    // remaining code will only run on the front end....
    // do stuff here....
}
1
cale_b

これにはwp_loadedアクションを使用できます。

// If u want to load a function only in the front end.
add_action( 'wp_loaded', 'my_front_end_function');
function my_front_end_function() {
    if ( !is_admin() ) { 
        // Only target the front end
        // Do what you need to do
    }
}

https://codex.wordpress.org/Plugin_API/Action_Reference/wp_loaded

0
Jarmerson