J'ai trouvé init et init_admin. Y at-il une action qui s'exécute juste dans le frontend? Merci.
Vous pouvez combiner add_action()
et une vérification is_admin()
:
! is_admin() and add_action( 'init', 'my_custom_callback' );
Maintenant, la fonction de rappel fonctionnera uniquement sur le front-end.
'template_redirect' est le plus utile.
En retard à la fête, mais a trouvé les autres réponses pas aussi claires.
Il n'y a pas de crochet de type init
- qui soit uniquement front-end.
admin_init
only s'exécute dans le tableau de bord.
init
fonctionne sur both le front-end ainsi que le tableau de bord.
Ainsi, en combinant la fonction intégrée WordPress is_admin () , et le hook init
, vous pouvez construire une fonction qui vous permet de faire uniquement des tâches frontales:
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....
}
Vous pouvez utiliser l'action wp_loaded
pour cela.
// 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