Где тема WP может регистрировать типы записей?
Здравствуйте, знатоки WP подскажите, где тема может регистрировать кастомные типы записей?
Тема регистрирует кучу не нужным типов, хочу подкорректировать.
Поиск register_post_type по файлам темы ничего не дал, плагинов, регистрирующих типы нет.
Своего какого-то не известного плагина нет.
Из тех, с какими не знаком: Redux Framework, Themex Pro Addon For akin Theme, CMB2
Как ещё тема может создавать кастомные типы записей?
Дополнительные вопросы
наверняка в базе
Павел @Asokr Автор вопроса Нашёл вот в плагине Themex Pro Addon For akin Theme, что в принципе логично, но казалось, что это аддоны для Элементора...
Ответы:
WP_Post_Type
- Если имелось ввиду поискать эту функцию, то её тоже нет...
Я и по самому типу искал, тоже нет совпадений...
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Если поиск по теме не находит
register_post_type, кастомные типы записей могут регистрироваться не напрямую в теме, а через подключаемый фреймворк, bundled-плагин, require-файлы, Redux/CMB2-настройки или закодированную/динамическую регистрацию. Ещё бывает, что CPT регистрирует не тема, а обязательный плагин вmu-plugins.Проверяйте шире:
grep -R "register_post_type|post_type|cpt|custom post" wp-content/themes wp-content/plugins wp-content/mu-plugins
Если прямого вызова нет, посмотрите список зарегистрированных типов в runtime:
add_action('init', function () { error_log(print_r(get_post_types([], 'objects'), true)); }, 99);
Так вы увидите labels, rewrite, capability, sometimes textdomain. По этим данным можно понять, кто регистрирует тип: slug, label, menu icon часто совпадают с кодом модуля.
Также проверьте:
wp-content/mu-plugins;inc/,framework/,includes/внутри темы;Themex Pro Addon;Redux сам по себе обычно не регистрирует CPT, он хранит настройки. Но тема может читать опции Redux и на их основе подключать модуль с CPT. CMB2 чаще отвечает за метаполя, но тоже может быть рядом с кодом CPT.
Чтобы отключить ненужный CPT, безопаснее найти источник и отключить модуль. Если не получается, можно после регистрации удалить тип из глобального списка, но это хрупко:
add_action('init', function () { unregister_post_type('portfolio'); }, 100);
Такой способ может ломать админку/данные, если тема ожидает этот тип. Поэтому сначала найдите источник регистрации.