Я выполнил поиск по высокой и низкой цене, у меня есть собственный тип записи, и я хочу, чтобы синглы были добавлены в родительский элемент меню.Я ожидал найти множество постов в Google, чтобы подтолкнуть меня в правильном направлении, и придумал следующее:
function artists_menu_filter( $items, $menu, $args ) {
$children = array();
$order = count($items);
$parent = 0;
foreach ( $items as $item ) {
if ( in_array('artists-parent-item', $item->classes) ) {
$parent = $item->ID;
}
}
if( $parent > 0 ) {
foreach ( get_posts( 'post_type=artists&numberposts=-1&orderby=title&order=ASC' ) as $post ) {
$post->menu_item_parent = $parent;
$post->menu_order = ++$order;
$post->object = 'custom';
$post->post_type = 'nav_menu_item';
$post->title = $post->post_title;
$post->type = 'custom';
$post->url = get_permalink( $post->ID );
array_push($children, $post);
}
}
return array_merge( $items, $children );
}
add_filter( 'wp_get_nav_menu_items', 'artists_menu_filter', 10, 3 );
Это действительно правильный путь?Разве это не может быть сделано с меньшим количеством кода?Это работает, поэтому я не жалуюсь, но действительно пытаюсь разобраться в Wordpress