Добавление пользовательских синглов типа записей в меню родителей - PullRequest
0 голосов
/ 07 декабря 2018

Я выполнил поиск по высокой и низкой цене, у меня есть собственный тип записи, и я хочу, чтобы синглы были добавлены в родительский элемент меню.Я ожидал найти множество постов в 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...