В то время как цикл возвращает идентификатор данных, но не будет повторно объявлен позже

#wordpress #while-loop #custom-post-type

Вопрос:

У меня есть сайт wordpress, который я перенял, и функция фильтра перестала работать на странице тематических исследований. Пользовательские категории из пользовательского типа записей были созданы и загружены в идентификатор данных. Чтобы фильтр работал, ему нужно снова выдать идентификатор категории данных, но я могу получить только один, чтобы пройти. Как я могу заставить его показывать правильный идентификатор категории данных.

Код ниже, и место, где он вызывает идентификатор, находится здесь категория->term_id; а затем снова ниже он пытается повторить его данные-категория=»echo $terms[0]->>term_id; но я не могу получить второй идентификатор данных для заполнения. Полный код ниже. Спасибо

   <?php

get_header();

$caseStudyCategories = get_terms('case-study-categories', array('hide_empty' => true));
$caseStudyRanges = get_terms('case-study-ranges', array('hide_empty' => true));

?>



<section class="case-studies-archive">

    <div class="container py6">
        <h1 class="h2 md-h2 text-center">
        <span>
            <?php echo get_field('case_study_archive_title', 'option'); ?>
        </span>
        </h1>
        <div class="wysiwyg mx-auto bold md-max-width-60 text-center">
            <?php echo get_field('case_study_introduction', 'option'); ?>
        </div>

        <div class="flex items-center justify-center pt5 pb2">
            <div><span class="filter__by_label « bold h4 mx2">Filter By:</span></div>
            <div><span class="filter__by_category « mx2 cursor-pointer" data-id="all" data-state="0">All</span></div>
            <?php if (!empty($caseStudyCategories)) :
                foreach ($caseStudyCategories as $category):
                    ?>
                    <div><span class="filter__by_category « mx2 cursor-pointer" data-id="<?php echo $category->term_id; ?>" data-state="0"><?php echo $category->name; ?></span></div>
                <?php endforeach;
            endif;
            ?>
        </div>
    </div>

    <main>
        <div class="case_study__grid">
            <div class="grid-sizer"></div>
            <?php
            $args = array(
                'posts_per_page' => -1,
                'post_type' => 'casestudies',
                'post_status' => 'publish',
                'orderby' => 'date',
                'order' => 'DSC',
            );
            $posts = new WP_Query($args);
            $info_panels = get_field('case_studies_info_panels', 'option');

            // Insert the panels into the posts.
            $merged_posts = $posts->posts;
            foreach ($info_panels as $key => $post) {
                // Convert the panel to an array.
                $insert = array($post);

                // Inset at position -1 for the array index starting at 0.
                array_splice($merged_posts, $post['position'] - 1, 0, $insert);
            }

            // Output the posts: Object is post object, else its a panel.
            foreach ($merged_posts as $key => $post) :
                if (is_object($post)) :
                    global $post;
                    $post = get_post($post);
                    setup_postdata($post);
                    $banner_image = wp_get_attachment_url(get_post_thumbnail_id(), 'large');
                    ?>
                    <div class="case_study__element key-<?php echo $key; ?> <?php echo (!empty(get_field('grid_height'))) ? "height-" . get_field('grid_height') :""; ?> <?php echo (!empty(get_field('grid_width'))) ? "width-" . get_field('grid_width') :""; ?>" data-category="<?php echo $terms[0]->term_id; ?>">
                        <a href="<?php echo the_permalink(); ?>" class="show_on_hover">
                            <div class="relative" style="background-image:url('<?php echo $banner_image; ?>'); background-size: cover;">
                                <div class="show show-5 absolute top-0 left-0 width-100 height-100 z2 opacity-5" style="background-color: black"></div>

                                <div class="show height-100 white z3 relative flex items-center justify-center flex-column px5">
                                    <figure class="ornament">
                                                <span class="keep">
                                                    <img src="http://staging.masterframe.d3z.uk/wp-content/uploads/2020/05/mf-rosett-50x70pix.png" />
                                                </span>
                                    </figure>
                                    <h4 class="white text-center h2 mb0"><?php echo get_the_title(); ?></h4>
                                    <span data-element="button" data-button-style="keyline_white" tabindex="0">Read More</span>
                                </div>

                            </div>
                        </a>
                    </div>