Как исправить «настраиваемое отображение сообщений по категориям» в WordPress

Как я могу решить эту проблему? Я пытаюсь передать переменную в WP_Query на 'category_name' => $category->slug, но в выводе не отображаются сообщения. Когда я удаляю строку 'category_name' => $category->slug, из кода, я показываю сообщения, но мне нужно отображать сообщения по категориям.

<?php
function mytheme_schedule_shortcode($atts, $content = null){
    extract( shortcode_atts( array(
        'style'         => 1
    ), $atts) );
    $domain = 'mytheme-toolkit';
    $mytheme_schedule_categories = get_terms('schedule_cat');

    $mytheme_schedule_markup ='
        <section class = "schedule-area bg-image ptb-120">
            <div class = "container">
                <div class = "row">
                    <div class = "col-lg-12">
                        <div class = "tab">
                            <ul class = "tabs">';
                            if (!empty($mytheme_schedule_categories) && ! is_wp_error($mytheme_schedule_categories)) {
                                foreach($mytheme_schedule_categories as $category){
                                $mytheme_schedule_markup .='
                                <li>
                                    <a href = "#">'.esc_html__($category->name).'
                                        <span>'.esc_html__($category->slug).'</span>
                                    </a>
                                </li>'; 
                                }   
                            } 
                            $mytheme_schedule_markup .=' 
                            </ul>

                            <div class = "tab_content">';
                                foreach($mytheme_schedule_categories as $category){
                                    $mytheme_schedule_markup .='
                                    <div class = "tabs_item">
                                        <ul class = "accordion">';
                                            $args = array(
                                                'post_type' => 'schedule',
                                                'posts_per_page' => -1,
                                                'category_name' => $category->slug,
                                            );
                                            $schedule_array = new WP_Query( $args );

                                            while($schedule_array->have_posts()): $schedule_array->the_post();
                                                $mytheme_schedule_markup .= '
                                                <li class=-item">
                                                        <h3>'.get_the_title().'</h3>
                                                </li>';

                                            endwhile;
                                            wp_reset_query();
                                            $mytheme_schedule_markup .= ' 
                                        </ul>   
                                    </div>';
                                }
                                $mytheme_schedule_markup .='
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>';
    return $mytheme_schedule_markup;
}
add_shortcode('mytheme_schedule', 'mytheme_schedule_shortcode');
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, вы используете пользовательскую таксономию для своего типа сообщения, и в этом случае код должен быть примерно таким:

$args = array(
  'post_type' => 'schedule',
  'posts_per_page' => -1,
  'tax_query' => array(
    array(
        'taxonomy' => 'schedule_cat',
        'field'    => 'slug',
        'terms'    => $category->slug,
    ),
  ),
);
$schedule_array = new WP_Query( $args );

Это должно решить проблему для вас. Удачи!!!

Для дальнейшего использования проверьте аргументы запроса WP здесь.

Другие вопросы по теме