Führt das mehrfache Einklinken in die gleiche Aktion zu einem Speicherverlust?

Zurzeit habe ich drei functionen, die auf pre_get_posts laufen. 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 erlaubt mir, die functionen ordentlich und getrennt zu halten, ruft aber dreimal zur selben Aktion auf, anstatt einmal eine kombinierte function aufzurufen, was Ressourcen entlastet?

Solutions Collecting From Web of "Führt das mehrfache Einklinken in die gleiche Aktion zu einem Speicherverlust?"

Ich nehme an, du meinst es

 add_action( 'pre_get_posts', 'private_groups' ); add_action( 'pre_get_posts', 'search_results' ); add_action( 'pre_get_posts', 'name_profiles' ); 

gegen

 add_action( 'pre_get_posts', 'combined_into_single_callback' ); 

Sie können den Unterschied einfach mit zB memory_get_usage() und timer_stop() . Viele gute Plugins da draußen helfen dabei.

Ich würde sagen, gehen Sie mit dem ersten, da es sich um nicht verwandte callbacke und wahrscheinlich leichter zu pflegen scheint.

Ich würde erwarten, dass dies hauptsächlich von den Callback-functionen abhängig ist, die Sie dort private_groups() : private_groups() , search_results() und name_profiles() versus combined_into_single_callback() .

Das Hook-Setup selbst sollte keine Resource Draining sein, da es nur drei neue Extra-Elemente in einem globalen Array sind.

Was Sie bei der Verwendung von pre_get_posts , ist, nur auf die entsprechende WP_Query Instanz zu WP_Query und die Ausführung teurer Codeblöcke für alle Instanzen zu vermeiden.