Как часто вам нужно регистрировать тип сообщения?
Предполагая, что вы напишете плагин и подключитесь к активации/деактивации к register_post_type достаточно ли этого? Или вам нужно делать это каждый раз ?
Я ищу повышение производительности и хочу сократить количество ненужных звонков.
Generatewp использует add_action( 'init', 'custom_post_type', 0 );
, так что, возможно, я захочу зарегистрировать его как можно раньше.
ВЫВОДЫ
-
register_post_type
необходимо вызывать при каждой загрузке страницыСами данные
post
хранятся в базе данных, но регистрация указывает PHP, что с ними делать. -
Типы сборки фактически регистрируются дважды при каждой загрузке страницы (из-за локализации, которая доступна только на
init
)
2 answers
register_post_type
необходимо вызывать при каждой загрузке страницы - init
, кажется, все в порядке, и - это крючок, используемый в примере Кодекса. Сами данные post хранятся в базе данных, но регистрация указывает PHP, что с ними делать. Большая часть информации о типе сообщения - $labels
, $args
- не хранится в базе данных, насколько мне известно (хотя я бы согласился с тем, что может быть аргументом для этого), поэтому без этого регистрационного кода ядро на самом деле не знает о сообщении тип.
Вы можете довольно легко проверить это самостоятельно, зарегистрировав тип и затем прокомментировав код.
Все типы записей и таксономии регистрируются при каждой загрузке страницы, независимо от того, встроены они или нет. Вы действительно ничего не можете с этим поделать.
Типы сборки фактически регистрируются дважды при каждой загрузке страницы ( из-за локализации, которая доступна только на init
) , поэтому попытки оптимизировать пользовательские типы совершенно бесполезны.
Поскольку данные о типах записей и таксономиях не хранятся в бд, вы уже экономите на вызовах бд, хотя и загрязняете глобальное пространство с их данными. Я не совсем уверен, что здесь лучше: добавлять дополнительные вызовы бд к и без того безумному количеству вызовов бд на загрузку страницы или добавлять еще больше мусора в глобальное пространство.
Wordpress на самом деле никогда не предназначался для того, чтобы стать мейнстримом, когда они начинали, поэтому многие функции никогда не были хорошо продуманы. Некоторые из ошибок, допущенных в более ранней версии, не могут быть устранены без нарушения работы тысяч сайтов из-за их политики обратной совместимости.
Если вам действительно нужно оптимизировать свой сайт, начните с очевидных вещей, таких как запросы, минимизация сценариев и стилей, кэширование больших объемов данных и т. Д. И т. Д. Что касается основных функций, все, что вы действительно можете сделать, это представить предложения по улучшению производительности конкретных функций и надеяться, что ваши предложения будут одобрены и включены в будущие выпуски