@vrpk34

Как сделать универсальную категорию Wordpress?

Подскажите пожалуйста, как можно сделать универсальную категорию чтобы не дублировать файл для того чтобы поменять имя категории. чтобы был один файл?

<?php
/*
Template Name: Категория общая
*/
get_header();
?>



<?php get_template_part('components/mainContent') ?>



<?php
$my_posts = get_posts( array(
'numberposts' => -1,
'category_name' => 'allCategory',
'orderby' => 'date',
'order' => 'ASC',
'include' => array(),
'exclude' => array(),
'meta_key' => '',
'meta_value' =>'',
'post_type' => 'post',
'suppress_filters' => true, // подавление работы фильтров изменения SQL запроса
) );

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

<?php get_template_part('components/card') ?>

<?php

}

wp_reset_postdata(); // сброс
?>





<?php get_footer(); ?>
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 2
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Вы и правда делаете что-то не то, посмотрите иерархию шаблонов, выберете наиболее подходящий и используйте его. В каждом шаблоне уже есть глобальный запрос, дополнительный запрос get_posts() или get_terms() делать не нужно
Ответ написан
Комментировать
@wadowad
Если у вас весь сайт каталог и больше никаких категорий нет (например, не будет категорий "новости", "блог" и т.п.), то категорию "каталог" можно упразднить. Тогда у вас будут только основные категории и подкатегории условие будет очень простое:

$term = $wp_query->get_queried_object();

if (empty($term->parent)) {
//вывод основных категорий
} 

else {
//вывод подкатегорий
}


Но вполне можно делать вывод для групп категории отдельно через перечисление условий (или сверку имён по массиву):

$term = $wp_query->get_queried_object();

if ($term->slug == 'okna' || $term->slug == 'dveri') {
//уникальный вывод окон и дверей
}

else {
//вывод для всех остальных
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы