Подключается ли к одному и тому же действию многократная утечка памяти?

В настоящее время у меня есть три функции, которые работают на pre_get_posts. Я называю их следующим образом:

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

Это позволяет мне сохранять функции аккуратными и раздельными, но трижды вызывает одно и то же действие по сравнению с вызовом комбинированной функции один раз, утечкой ресурсов?

7 голосов | спросил SinisterBeard 15 Jpm1000000pmFri, 15 Jan 2016 14:01:07 +030016 2016, 14:01:07

1 ответ


5

Я думаю, вы имеете в виду

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 и не запускать дорогие кодовые блоки для всех экземпляров.

ответил birgire 15 Jpm1000000pmFri, 15 Jan 2016 14:37:02 +030016 2016, 14:37:02

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132