Sur la page de documentation , il est indiqué que "l'action sera déclenchée lorsque quelqu'un visitera votre site WordPress, si l'heure programmée est écoulée".
Est-il possible de déclencher cette action uniquement lorsque l'administrateur est visité? J'essaie d'empêcher qu'une opération lente ait un impact sur les utilisateurs situés à l'avant.
Dans votre fonction de rappel d’événement, vérifiez si l’ID utilisateur est l’administrateur, puis exécutez la fonction, sinon replanifiez-la. Donc, en utilisant l'exemple de la page du codex que vous avez lié à la question, cela ressemblerait à ceci:
function my_activation() {
if ( !wp_next_scheduled( 'my_hourly_event' ) ) {
wp_schedule_event(time(), 'hourly', 'my_hourly_event');
}
}
add_action('wp', 'my_activation');
function do_this_hourly() {
// do something every hour only if this is the admin
if (!current_user_can('administrator')){
// time()+1800 = 1/2 hour from now.
wp_schedule_single_event(time()+1800, 'my_hourly_event');
return;
}else{
//do your thing
}
}