多次执行同一动作会耗尽内存吗?

时间:2016-01-15 作者:SinisterBeard

目前,我有三个在上运行的函数pre_get_posts. 我这样称呼他们:

add_action( \'pre_get_posts\', \'private_groups\' );
add_action( \'pre_get_posts\', \'search_results\' );
add_action( \'pre_get_posts\', \'name_profiles\' );
这使我能够保持函数整洁和独立,但是调用同一个操作三次,而不是调用一次组合函数,会消耗资源吗?

1 个回复
最合适的回答,由SO网友:birgire 整理而成

我想你是说

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 实例,避免为所有实例运行昂贵的代码块。

相关推荐

Wodpress XML Import hooks

要将来自给定远程站点的帖子合并到给定类别下的一个站点中,我如何挂接导入插件以保存给定类别的帖子:给出的示例:接收方站点具有类别auto 我想从(例如)导入所有帖子auto.com 在下面this category. 如果远程帖子有另一个类别auto 添加为子级。应该下载内部帖子图片,更新帖子内的所有链接,因此我已经找到了一个核心方法,下面是我尝试的方法,但我认为这可以变得更简单<?php if (!class_exists(\'Wp_Http\')) in