Получить список подкатегорий и их посты

209
21 августа 2017, 10:36

Приветствую!

Задача такая:
Кастомный тип записей
Формат вывода

-Главная категория 1

--Подкатегория 1
---Пост 1 подкатегории 1
---Пост 2 подкатегории 1
---Пост 3 подкатегории 1

--Подкатегория 2
---Пост 1 подкатегории 1
---Пост 2 подкатегории 1
---Пост 3 подкатегории 1

---Пост от Главной категории 1, если не входит в подкатегории

-Главная категория 2

--Подкатегория 1
---Пост 1 подкатегории 1
---Пост 2 подкатегории 1
---Пост 3 подкатегории 1

--Подкатегория 2
---Пост 1 подкатегории 1
---Пост 2 подкатегории 1
---Пост 3 подкатегории 1

Это надо вывести на обычную page страничку, надо такую структура делать только у определённого post-type

Если находимся в какой-то категории, то структура та же, но исходя из глубины нашего расположения.

Проблемы:
1. Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/login/public_html/domen/wp-includes/wp-db.php on line 1568
2. не могу обернуть всё это дело в один цикл с фильтрацией по post-type
3. Где-бы я не выводил код, он выводит все главные и подкатегории, не реагирую на вложенность нашего расположения.

Код

<?php
$parent_cat_arg = array( 'hide_empty' => false, 'parent' => 0, 'exclude' => '1' );
$parent_cat = get_terms('category',$parent_cat_arg);//category name
foreach ($parent_cat as $catVal) {
    echo '<h2>'.$catVal->name.'</h2>'; //Parent Category
    $child_arg = array( 'hide_empty' => false, 'parent' => $catVal->term_id );
    $child_cat = get_terms( 'category', $child_arg );
    echo '<ul>';
        foreach( $child_cat as $child_term ) {
            echo '<li>'.$child_term->name . '</li>'; //Child Category
            $args = array(
            'posts_per_page' => -1, // max number of post per category
            'category__in' => array($child_term->term_id)
            );
            $customInCatQuery = new WP_Query($args); 
                if ($customInCatQuery->have_posts()) : 
                echo '<div>';
                echo '<ul>';    
                while ($customInCatQuery->have_posts()) : $customInCatQuery->the_post();
                echo '<li>'. get_the_title();  
                endwhile; 
                echo '</ul></div>';

                else : 
                echo 'No post published in:';                
                endif; 
                wp_reset_query();

        }
    echo '</ul>';
}
?> 
READ ALSO
Ошибка при использовании SoapClient в PHP

Ошибка при использовании SoapClient в PHP

Впервые столкнулся с использованием SOAP протокола, вроде всё ясно, но не могу разобраться с ошибкойВот сама ошибка:

344