Действия делают вещи. Фильтры модифицируют вещи. Вы делаете вещи в действии, тогда как если вы применяете фильтр, вы не ожидаете каких-либо событий или действий, кроме изменения значения, которое вы фильтруете. Например, нельзя отправлять электронное письмо или сохранять значение БД в фильтре, но это нормально в действии. Могут быть редкие моменты, когда вам нужно нарушить это соглашение, но оно является полезным и необходимым.
Заменяя все add_action
и do_action
вызовы их фильтрами, вы удаляете различие и заставляете знание о более влажных именах, таких как и 'the_content'
т. Д., Являться действиями или фильтрами из мира, в вашу память, поощряя ошибки.
Таким образом, вместо того, чтобы сделать ваш код более трудным для чтения, осознайте, что если ваш код медленный, то это не потому, что вы не брили одну или две инструкции здесь и там, это либо ваш медленный сервер, либо ваша алгоритмическая структура вашего кода и характер обрабатываемых данных. Вы получите гораздо больше от рефакторинга ваших процессов, обновления оборудования или изменения ваших парадигм. В общей схеме медленный сайт, скорее всего, медленный, потому что он много делает или имеет плохо написанные запросы, например, пост-запросы, которые полагаются на мета, или __not_in
запросы типа
Для сравнения: при запуске WordPress PHP выполняет миллионы инструкций. Смена действий для фильтров едва ли сделает вмятину в верхнюю тысячную часть процентиля.
http://fabien.potencier.org/article/8/print-vs-echo-which-one-is-faster
Я попробовал новую установку Wordpress. Сценарий останавливается до того, как он заканчивается «Ошибка шины» на моем ноутбуке, но количество кодов операций уже превысило 2,3 миллиона . Достаточно сказано.
Если вы действительно хотите попробовать, посмотрите, как парень использовал VLD, и проверьте свою теорию для себя.