問題描述
目前我有三個在 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。