@ Райан Элкинс:
Я думаю, что ответ зависит от того, насколько важен каждый сценарий использования. В некоторых случаях это может быть чем-то, что вам нужно быстро и грязно, в других это может быть более значимым вариантом использования. Вот две вещи, которые приходят на ум:
Ищите альтернативные хуки в ядре WordPress
Если это что-то быстрое и грязное иногда, вы можете использовать другие нисходящие хуки из ядра, чтобы изменить то, что вам нужно, или как восходящие, так и нисходящие хуки с помощью ob_start()
/ ob_end_clean()
(см. Ответ @Todd Perkins на « Работа с большими выходами HTML через код плагина ») для примера кода.)
Чтобы отследить зацепки, вы можете воспользоваться плагином Instrument Hooks, который я разместил вчера, чтобы помочь вам найти зацепки, которые вы потенциально можете использовать.
Отправить патч с вашим желаемым крючком для разработчика плагинов
Если ваш вариант использования более важен для вас или сообщества, я бы порекомендовал пойти дальше и добавить нужный вам плагин в плагин. Затем тщательно протестируйте его, чтобы убедиться, что он действительно соответствует вашему варианту использования, после чего вы можете отправить исправление разработчику плагина в надежде, что он или она применит его. Таким образом, вы делаете их максимально легкими, предоставляя им проверенный код, и вы сами работаете над вариантом использования, чтобы убедиться, что это действительно то, что вам нужно. Я не могу сказать вам, как часто я думал, что мне нужен определенный хук, только чтобы найти после того, как я попытался реализовать тот, который мне нужен, но тот, который отличался от того, который я сначала предполагал.
Если вы не знакомы с созданием патча, здесь есть хорошая статья о патчировании ядра WordPress, для которого большинство применимо к патчированию плагинов, а для того, что нет, надеюсь, будет очевидно, что делать:
Надеюсь это поможет?
PS Одна вещь, которую я нахожу немного разочаровывающей, это то, что ваши вопросы адресованы процентным соотношением плагинов, которые предназначены только для конечных пользователей, то есть не имеют собственных хуков. Представляете, если WordPress были разработаны как большинство плагинов? Это было бы негибким и очень нишевым решением.
Может быть, все было бы иначе, если бы у WordPress была возможность автоматически устанавливать плагины, от которых зависели другие плагины? Как правило, мне обычно приходится писать много нужных мне функций с нуля, потому что клиенты хотят определенным образом и доступными плагинами, в то время как 90% там не позволяют мне гибко обновлять оставшиеся 10%.
Я действительно хотел бы, чтобы те, кто возглавляет сообщество WordPress, нашли способ гарантировать, что плагины будут вознаграждены за следование лучшим рекомендациям (например, добавление хуков для других разработчиков), так же, как хорошие ответы будут вознаграждены на сайте StackExchange.