Derzeit habe ich drei Funktionen, die mit pre_get_posts
ausgeführt werden. Ich nenne sie so:
add_action( 'pre_get_posts', 'private_groups' );
add_action( 'pre_get_posts', 'search_results' );
add_action( 'pre_get_posts', 'name_profiles' );
Dies ermöglicht es mir, die Funktionen sauber und getrennt zu halten, ruft aber dreimal dieselbe Aktion auf, anstatt eine kombinierte Funktion einmal aufzurufen, was Ressourcen verschlingt?
Ich denke du meinst
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' );
Sie können den Unterschied einfach überprüfen, indem Sie z. memory_get_usage()
und timer_stop()
. Viele gute Plugins helfen dabei.
Ich würde sagen, gehen Sie mit dem ersten, da es sich um nicht verwandte Rückrufe zu handeln scheint und wahrscheinlich einfacher zu warten ist.
Ich würde erwarten, dass dies hauptsächlich von den Rückruffunktionen abhängt, die Sie dort ausführen: private_groups()
, search_results()
und name_profiles()
versus combined_into_single_callback()
.
Das Hook-Setup selbst sollte keine Ressourcen belasten, da es sich nur um drei neue zusätzliche Elemente in einem globalen Array handelt.
Wenn Sie den pre_get_posts
verwenden, sollten Sie darauf achten, nur auf die entsprechende WP_Query
-Instanz abzuzielen und teure Codeblöcke nicht für alle Instanzen auszuführen.