Как часто вам нужно регистрировать тип сообщения?


Предполагая, что вы напишете плагин и подключитесь к активации/деактивации к register_post_type достаточно ли этого? Или вам нужно делать это каждый раз ?

Я ищу повышение производительности и хочу сократить количество ненужных звонков.

Generatewp использует add_action( 'init', 'custom_post_type', 0 );, так что, возможно, я захочу зарегистрировать его как можно раньше.

ВЫВОДЫ

  • @ с-ха-дум:

    register_post_type необходимо вызывать при каждой загрузке страницы

    Сами данные post хранятся в базе данных, но регистрация указывает PHP, что с ними делать.

  • @ питер-гусен:

    Типы сборки фактически регистрируются дважды при каждой загрузке страницы (из-за локализации, которая доступна только на init)

Author: Community, 2015-12-18

2 answers

register_post_type необходимо вызывать при каждой загрузке страницы - init, кажется, все в порядке, и - это крючок, используемый в примере Кодекса. Сами данные post хранятся в базе данных, но регистрация указывает PHP, что с ними делать. Большая часть информации о типе сообщения - $labels, $args - не хранится в базе данных, насколько мне известно (хотя я бы согласился с тем, что может быть аргументом для этого), поэтому без этого регистрационного кода ядро на самом деле не знает о сообщении тип.

Вы можете довольно легко проверить это самостоятельно, зарегистрировав тип и затем прокомментировав код.

 3
Author: s_ha_dum, 2015-12-18 21:13:17

Все типы записей и таксономии регистрируются при каждой загрузке страницы, независимо от того, встроены они или нет. Вы действительно ничего не можете с этим поделать.

Типы сборки фактически регистрируются дважды при каждой загрузке страницы ( из-за локализации, которая доступна только на init) , поэтому попытки оптимизировать пользовательские типы совершенно бесполезны.

Поскольку данные о типах записей и таксономиях не хранятся в бд, вы уже экономите на вызовах бд, хотя и загрязняете глобальное пространство с их данными. Я не совсем уверен, что здесь лучше: добавлять дополнительные вызовы бд к и без того безумному количеству вызовов бд на загрузку страницы или добавлять еще больше мусора в глобальное пространство.

Wordpress на самом деле никогда не предназначался для того, чтобы стать мейнстримом, когда они начинали, поэтому многие функции никогда не были хорошо продуманы. Некоторые из ошибок, допущенных в более ранней версии, не могут быть устранены без нарушения работы тысяч сайтов из-за их политики обратной совместимости.

Если вам действительно нужно оптимизировать свой сайт, начните с очевидных вещей, таких как запросы, минимизация сценариев и стилей, кэширование больших объемов данных и т. Д. И т. Д. Что касается основных функций, все, что вы действительно можете сделать, это представить предложения по улучшению производительности конкретных функций и надеяться, что ваши предложения будут одобрены и включены в будущие выпуски

 2
Author: Pieter Goosen, 2015-12-18 21:34:34