Кастомные типы записей в WP: register_post_type правильно.
Самая частая ошибка — регистрировать CPT в functions.php темы. Если тема сменится, все данные останутся в БД, но тип записи исчезнет. Данные не пропадут, но недоступны через запросы.
Правило: CPT регистрировать в плагине, не в теме. Тема — для отображения, плагин — для структуры данных.
Ключевые параметры которые часто игнорируют:
— has_archive — нужен для страницы архива CPT, без него 404
— rewrite — настройте slug иначе получите неудобный URL
— show_in_rest — обязательно true если используете Gutenberg или REST API
— menu_position — без него CPT окажется в самом низу меню
Для связей между CPT используйте либо таксономии, либо мета-поля, либо специализированные плагины. Не изобретайте свои таблицы в БД — это усложняет поддержку.
Разработка тем WordPress
@wp_dev_deep_dive_ww
Кастомные типы записей в WP: register_post_type правильно.
Этот пост опубликован в Telegram-канале Разработка тем WordPress. Подписаться можно по ссылке: @wp_dev_deep_dive_ww.