@MininAlexey

Как привязывать вывод постов из категории к определенной странице?

Всем привет, у меня есть шаблон страницы page.php, разметка на каждой из внутренних страница одинаковая. Тематика сайта - продажа игрушек.
При явном указании категории в выводе постов через get_post, посты выводятся одинаковыми на каждой странице(жестко указана рубрика), как указать что на "этой странице - нужно выводить посты именно из этой рубрики(допустим на странице bears - посты из рубрики bears, на странице cats - посты из рубрики cats)? Единственный выход проверять страницу как is_page("slug") - если страниц 50 - это говнокод, как это делается правильно?
Код -
<div class="toys-section__left-content">

            <?php the_title( '<h1 class="toys-section__title section-main-title">', '</h1>' ); ?>

            <p class="toys-section__description">
                Lorem Ipsum
            </p>

            <div class="toys__list">

                <?php  

                    $posts = get_posts( array(
                        'numberposts' => -1,
                        'category_name'    => 'bears',
                        'orderby'     => 'date',
                        'order'       => 'ASC',
                        'post_type'   => 'post',
                        'suppress_filters' => true,
                    ) );

                    foreach( $posts as $post ){
                        setup_postdata($post); ?>

                        <div class="toys-item">
                            <a href="<?php the_field('') ?>">
                                <?php echo get_the_post_thumbnail();?>
                                <span><?php the_title(); ?></span>
                            </a>
                        </div>

                        <?php
                    }

                    wp_reset_postdata();

                    ?>

            </div>
        
            <?php      
                get_template_part( 'template-parts/content', 'get-office' ); 
            ?>

            <?php the_content( ); ?>
        </div>
  • Вопрос задан
  • 36 просмотров
Решения вопроса 1
@coderiter
Если без введения каких-то соглашений по именованию для себя и редакторов, то делайте на каждой странице доп поле типом dropdown, в опциях которого будут ID всех категорий. Затем на каждой странице однократно заполняете это поле и при его заполненности выводите как выводили, только вместо

'category_name' => 'bears',

будете использовать

'category'    => get_field('your_cat_to_post_field'), //при использовании ACF
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы