Как дописать if-else для вывода(постов-рубрик) ?
Подскажите, как сделать так, чтобы если есть в рубрике подрубрики - выводились ТОЛЬКО ОНИ(1-я часть кода), а если подрубрик нету(сейчас так и работает) - Выводятся только посты. Сейчас выводятся и подрубрики и посты, если есть в данной рубрике и то и другое...
<div class="row">
<!-- Код для вывода подкатегорий в категориях -->
<?php
if (count(get_categories('child_of='.$cat)))
if (is_category()) {
$current_cat=get_query_var('cat');
$args = array(
'type' => 'post',
'show_option_all' => '',
'show_option_none' => __('No categories'),
'orderby' => 'post_date',
'order' => 'DESC',
'show_last_update' => 0,
'style' => 'list',
'show_count' => 0,
'hide_empty' => 0,
'use_desc_for_title' => 1,
'child_of' => $current_cat,
'feed' => '',
'feed_type' => '',
'feed_image' => '',
'exclude' => '',
'exclude_tree' => '',
'include' => '',
'hierarchical' => true,
'title_li' => '',
'number' => NULL,
'echo' => 1,
'depth' => 0,
'current_category' => 0,
'pad_counts' => 0,
'taxonomy' => 'category',
'walker' => 'Walker_Category',
'hide_title_if_empty' => false,
'separator' => '<br />',
);
?>
<?php
foreach (get_categories($args) as $category) {
$category_link = get_category_link( $category );
?>
<div class="col-md-6">
<div class="catalog-block">
<a href="<?php echo $category_link; ?>" class="catalog-title"><h3><?php echo $category->name; ?></h3></a>
<a href="<?php echo $category_link; ?>" class="catalog-title"><?php if($imgcat1=get_field("imgcat1",get_category($category))){?>
<img src="<?php echo $imgcat1;?>" style="max-height: 320px" />
<?php }?>
</a>
<a href="<?php echo $category_link; ?>" class="btn btn-tovar">Узнать подробнее о товаре</a>
</div>
</div>
<?php
}
//echo '<ul class="forchild">';
//wp_list_categories( $args );
//echo '</ul>';
}
wp_reset_postdata(); // сброс
?>
<!-- Код для вывода постов в категории -->
<?php
// параметры по умолчанию
$args = array(
'numberposts' => 0,
'category_name' => $cat_slug,
'orderby' => 'parent',
'order' => 'DESC',
'include' => array(),
'exclude' => array(),
'meta_key' => '',
'meta_value' =>'',
'post_type' => 'post',
'suppress_filters' => true, // подавление работы фильтров изменения SQL запроса
);
$posts = get_posts( $args );
foreach($posts as $post){ setup_postdata($post);
?>
<div class="col-md-6">
<div class="catalog-block">
<a href="<?php the_permalink(); ?>" class="catalog-title"><h3><?php the_title(); ?></h3></a>
<a href="<?php the_permalink(); ?>" class="catalog-title"><?php the_post_thumbnail('object-preview'); ?>
</a>
<a href="<?php the_permalink(); ?>" class="btn btn-tovar">Узнать подробнее о товаре</a>
</div>
</div>
<?php
}
wp_reset_postdata(); // сброс
?>
</div>
Это проверка на подрубрики
if (count(get_categories('child_of='.$cat))) вот тебе и иф
А вообще для такого я бы другим кодом пользовался и выводил бы что то типо того:
В данном примере каждый $cat из цикла foreach ($cats as $cat), может содержать такую информацию:
[term_id] => 162[name] => Здоровье
[slug] => zdorove
[term_group] => 0
[term_taxonomy_id] => 170
[taxonomy] => articles
[description] =>
[parent] => 0 2
$cats = get_terms( 'category' ); foreach ($cats as $cat){ if ($cat->parent){ //тут если подрубрика echo 'Имя: '.$cat->name.'<br>'; echo 'Ссылка: '.get_term_link($cat->term_id).'<br>'; }else{ //нет продрубрик, главная категория } }Код может быть не рабочий, просто для примера
читай про get_terms https://wp-kama.ru/function/get_terms там много примеров
Вот тоже по теме:
https://wp-kama.ru/function/get_ancestors