問題描述
目前我有三個在 pre_get_posts 上執行的功能。我叫他們這樣:
add_action( 'pre_get_posts', 'private_groups' );
add_action( 'pre_get_posts', 'search_results' );
add_action( 'pre_get_posts', 'name_profiles' );
這使我能夠保持功能整齊和獨立,但是呼叫相同的動作三次,而不是呼叫組合功能一次,資源流失?
最佳解決方案
我想你的意思是
add_action( 'pre_get_posts', 'private_groups' );
add_action( 'pre_get_posts', 'search_results' );
add_action( 'pre_get_posts', 'name_profiles' );
與
add_action( 'pre_get_posts', 'combined_into_single_callback' );
您可以使用例如 memory_get_usage()和 timer_stop()。許多很好的外掛可以幫助你。
我會說第一個,因為他們似乎是無關的回撥,可能更容易維護。
我希望主要依賴於您在那裡執行的回撥函式:private_groups(),search_results()和 name_profiles()與 combined_into_single_callback()。
鉤子設定本身不應該是資源耗盡,因為它只是全域性陣列中的三個新的額外元素。
當使用 pre_get_posts 時,您應該注意的是僅將目標物件為對應的 WP_Query 例項,並避免為所有例項執行昂貴的程式碼塊。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。