Поддержка Проблемы и решения Фильтрация записей в блоге. Нужен совет

  • Здравствуйте.
    Разрабатываю сайт (пока на локальном сервере) для художественной студии. За основу взял шаблон School Zone – дочерняя тема от “Education Zone” от Rara. Настроил секции баннер, информация «О НАС», занятия, преподаватели, преимущества перед конкурентами и отзывы. Инфа для этих секциях выводиться из записей (в кустомайзере сам выбираешь какие записи выводить). Все записи расфасованы по соответствующим рубрикам для удобства. Скриншоты для примера:
    https://yadi.sk/i/EEcC-UmYI2HHPw
    https://yadi.sk/i/L8bRWvRBDanXag
    https://yadi.sk/i/QbxzhpExoBeYXA
    https://yadi.sk/i/LhZw_neiVucb2g

    Я дошёл до блога и… оказалась, что он отображает ВСЕ записи, даже те которые он не должен по моей задумке отображать (занятия, преподы, приемущества, отзывы).
    Полез кодить фильтр. Сразу скажу, что получилось, ниже расскажу, как и что бы ещё хотелось.
    В кустомайзере, в разделе “Блог” я создал настройку, где можно выбрать с какой рубрики брать записи для блога.

    Код:

    
    /** Choose Blog Category */
        $wp_customize->add_setting(
            'education_zone_blog_category',
            array(
                'default' => '',
                'sanitize_callback' => 'education_zone_sanitize_select',
            )
        );
        
        $wp_customize->add_control(
            'education_zone_blog_category',
            array(
                'label' => __( 'Choose Blog Category', 'education-zone' ),
                'section' => 'education_zone_blog_section_settings',
                'type' => 'select',
                'choices' => $option_categories // Выбираю рубрику откуда брать записи
            )
        );		
    

    Далее я открыл файл “section-blog.php”, где закодирована секция “Блог”, и в него добавил переменную:

    
    $blog_cat      = get_theme_mod('education_zone_blog_category'); // Создаю переменную рубрики блога
    

    И в ДВА массива добавил строку:

    
    'cat' => $blog_cat, // Вывожу записи только из выбранной рубрики
    

    В итоге в блоге лэндинга выводятся только записи из рубрики “Блог”, остальные рубрики игнорируются. Это я и добивался! Скрин результата: https://yadi.sk/i/2Hkz_Ec-8yYXHg

    ВОПРОС: Как выбрать и вывести записи не из одной рубрики, а из двух или из трёх? Конечно, в рубрику “Блог” можно добавить и подрубрики, записи подрубрик тоже будут выводиться (проверил, работает), но хотелось бы узнать можно ли как-то без этого?

Просмотр 1 ответа (всего 1)
  • В кустомайзере мне удалось создать две секции для выбора нужных рубрик — «Новости» и «Статьи». Код:

    
    /** Choose Blog Category 1 */
        $wp_customize->add_setting(
            'education_zone_blog_category',
            array(
                'default' => '',
                'sanitize_callback' => 'education_zone_sanitize_select',
            )
        );
        
        $wp_customize->add_control(
            'education_zone_blog_category',
            array(
                'label' => __( 'Choose Blog Category 1', 'education-zone' ),
                'section' => 'education_zone_blog_section_settings',
                'type' => 'select',
                'choices' => $option_categories // Выбираю рубрику откуда брать записи
            )
        );		
    	
    	/** Choose Blog Category 2 */
        $wp_customize->add_setting(
            'education_zone_blog_category2',
            array(
                'default' => '',
                'sanitize_callback' => 'education_zone_sanitize_select',
            )
        );
        
        $wp_customize->add_control(
            'education_zone_blog_category2',
            array(
                'label' => __( 'Choose Blog Category 2', 'education-zone' ),
                'section' => 'education_zone_blog_section_settings',
                'type' => 'select',
                'choices' => $option_categories // Выбираю рубрику откуда брать записи
            )
        );
    

    Теперь думаю как вывести выбор в секцию «Блог». Пока не получается, думаю разумно оставить эти рубрики оставить как подрубрики Блога.

Просмотр 1 ответа (всего 1)