Как дописать 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
Код может быть не рабочий, просто для примера
читай про get_terms https://wp-kama.ru/function/get_terms там много примеров
Вот тоже по теме:
https://wp-kama.ru/function/get_ancestors