Поддержка Проблемы и решения Проблемы с меню при выводе постов произвольного типа

  • Решено darkozoid

    (@darkozoid)


    Добрый день, может кто сталкивался с подобной проблемой, подскажите если знаете.

    Ситуация: в теме используется несколько меню (4 в футере 1 в хедере и 1 основное)
    выводятся они примерно так

    $args3 = array(
    				'menu'            => '4',
    				'container'       => 'nav',
    				'menu_class'      => 'footer_menu_ul',
    				'echo'            => true,
    				'items_wrap'      => '<ul id="%1$s" class="%2$s">%3$s</ul>',
    				'depth'           => 2
    				);  
    
    				wp_nav_menu( $args3 );

    создаю новый тип записи:

    add_action( 'init', 'create_post_type' );
    function create_post_type() {
    register_post_type( 'portfolio',
             array(
                    'labels' => array(
    									'name' => __( 'Портфолио' ),
    									'singular_name' => __( 'Работа' ),
    									'has_archive' => true,
    									'add_new' => 'Добавить работу',
    									'not_found' => 'Ничего не найдено',
    									'not_found_in_trash' => 'В корзине работ не найдено'
                    ),
                    'public' => true,
                    'has_archive' => true,
    								'capability_type' => 'page',
                    'supports' => array(
                      'title',
                      'editor',
                      'author',
                      'trackbacks',
                      'thumbnail',
                      'page-attributes',
                      'post-formats',
                      'custom-fields'
                    ),
                   'taxonomies' => array('category', 'post_tag')
               ));
    }

    пока все ок, за исключением того, что эти посты не выводятся в категориях. Для этого дописываю следом:

    add_filter('pre_get_posts', 'query_post_type');
    function query_post_type($query) {
      if(is_category() || is_tag()) {
    		$post_type = get_query_var('post_type');
        if($post_type){
    			$post_type = $post_type;
    		}else{
    			$post_type = array('post','portfolio');
    		}
    		$query->set('post_type',$post_type);
      return $query;
    }}

    теперь посты выводятся в своих категориях, НО!

    все меню на сайте становятся одинаковыми (как будто у них у всех при вызове указан один id)

    что тут может быть?

Просмотр 4 ответов — с 1 по 4 (всего 4)
Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Проблемы с меню при выводе постов произвольного типа» закрыта для новых ответов.