Actuellement, j'ai trois fonctions qui fonctionnent sur pre_get_posts
. Je les appelle comme ça:
add_action( 'pre_get_posts', 'private_groups' );
add_action( 'pre_get_posts', 'search_results' );
add_action( 'pre_get_posts', 'name_profiles' );
Cela me permet de garder les fonctions ordonnées et séparées, mais le fait d’appeler trois fois à la même action est-il différent de celui d’appeler une fonction combinée une fois, une ponction sur les ressources?
Je suppose que tu veux dire
add_action( 'pre_get_posts', 'private_groups' );
add_action( 'pre_get_posts', 'search_results' );
add_action( 'pre_get_posts', 'name_profiles' );
versus
add_action( 'pre_get_posts', 'combined_into_single_callback' );
Vous pouvez simplement vérifier la différence en utilisant, par exemple, memory_get_usage()
et timer_stop()
. Beaucoup de bons plugins existent pour aider avec ça.
Je dirais que go avec le premier, car ils semblent être des rappels indépendants et probablement plus faciles à maintenir.
Je m'attendrais à ce que cela dépende principalement des fonctions de rappel que vous exécutez ici: private_groups()
, search_results()
et name_profiles()
par rapport à combined_into_single_callback()
.
La configuration de hook en elle-même ne devrait pas épuiser les ressources, car il ne s'agit que de trois nouveaux éléments supplémentaires dans un tableau global.
Ce que vous devez faire attention lorsque vous utilisez le pre_get_posts
est de ne cibler que l’instance WP_Query
correspondante et d’éviter d’exécuter des blocs de code coûteux pour toutes les instances.