Отображение произвольных записей в меню.
В премиум теме имеются произвольные виды записей. У них имеются категории, теги, всё что надо, но не отображаются в меню. Нет возможности выбрать произвольные посты или их категории в меню.
Когда самостоятельно добавлял произвольный тип записей в меню они отобразились, сейчас что то не найду.
Как реализовать данный функционал?
Место регистрации этих типов не могу найти ни в плагинах, ни в теме.
Нашёлся хук для плагина где задаются эти настройки:
add_filter('cherry_projects_post_type_args', [$this, 'edit_archive_project'], 10, 1);
public function edit_archive_project($args)
{
$args['show_in_nav_menus'] = true;
return $args;
}
Но всё равно нет их в меню.
При регистрации нового типа записи функция register_post_type() принимает много параметров, один из них
show_in_nav_menus. Если значение этого параметра будетfalse, то тип поста не будет отображаться при выборе пунктов меню. Если отредактировать нет возможности, то можно с помощью хука registered_post_type внедриться в объект и внести изменения:add_action( 'registered_post_type', 'change_post_type_object', 10, 2 ); function change_post_type_object( $post_type, $post_type_object ) { if ( 'post_type_name' == $post_type ) { $post_type_object->show_in_nav_menus = true; } }Где
post_type_name- название типа записи (см. описание функции). Подобный принцип и с register_taxonomy(), только изменения вносятся через хук registered_taxonomy.Странно, но не помогло. Есть ещё какие нибудь мысли?
Нет, других решений я не знаю. Мне всегда это решение помогает. Пришли код, который написал.
Сперва убрал этот тип.
add_action('init', 'my_unregister_post_type', 999); function my_unregister_post_type(){ unregister_post_type('cherry-services'); }После применил код из примера.
add_action( 'registered_post_type', 'change_post_type_object', 10, 2 ); function change_post_type_object( $post_type, $post_type_object ) { if ( 'cherry-services' == $post_type ) { $post_type_object->show_in_nav_menus = true; } }Зачем убрал? Разве было где-то написано, что надо это делать? Конечно, ты "убил" тип поста и вся работа коту под хвост))
Я пробовал и так и так. Помню когда свой тип забивал, что бы после внести изменения в настройках нужно было "убивать" тип записи, а после с обновлёнными настройками снова его добавлять.
Используешь плагин Cherry Services List?
Точно. Есть такой. Он в комплекте с темой шёл.
Поставил этот плагин, проблем не вижу:
Ооо! Блин. Видимо что то в теме перебито. Буду искать. Спасибо!
Тоже столкнулся с этим
обнаружил что в коде аккордеона нужный тип постов есть, но скрыт классом hide-if-js
копание дальше привело к истине - раскрываем вверху экрана спойлер Настройки экрана и там включаем нужные галки постов и таксономий