Показать родительскую категорию Wordpress вместе с дочерней категорией - PullRequest
2 голосов
/ 11 июня 2010

Я хочу отобразить только те родительские категории, у которых есть какая-то дочерняя категория с их дочерней категорией, без использования child_of=

Я пытался отобразить, но я могу только получить список дочерней категории, но неимя их родительской категории.

<?php

$querystr = "SELECT wp_terms.name, wp_terms.term_id, wp_terms.name FROM wp_terms, wp_term_taxonomy WHERE wp_terms.term_id = wp_term_taxonomy.term_id AND wp_term_taxonomy.parent !=0 ";
$cat_child = $wpdb->get_results($querystr, OBJECT);
var_dump($cat_child);
foreach ($cat_child as $category) {
         echo $category->name. ' , ';
      }
  ?>

Помогите мне .. Спасибо

Ответы [ 2 ]

2 голосов
/ 11 июня 2010

Сделано этим

<?php

                            $querystr = "SELECT wp_terms.name, wp_terms.term_id, wp_terms.name FROM wp_terms, wp_term_taxonomy WHERE wp_terms.term_id = wp_term_taxonomy.term_id AND wp_term_taxonomy.parent !=0 ";
                            $cat_child = $wpdb->get_results($querystr, OBJECT);
                            var_dump($cat_child);
                            echo '<ul>';
                            foreach ($cat_child as $category) {
                                 $cat_id = intval($category->term_id);
                                 echo '<li>';
                                    echo get_category_parents($cat_id , TRUE , ' <br/> ');
                                 echo '</li>';
                            }
                            echo '</ul>';
                     ?>

Спасибо

0 голосов
/ 23 мая 2017

Если вы не хотите использовать аргумент «child_of», то ваша проблема может быть решена с помощью двух циклов: один для отображения родительских категорий и другой для отображения его прямых дочерних категорий.

  // get_categories() function will return all the categories
        $upaae_categories = get_categories( array(
         'orderby' => 'name',
         'order' => 'ASC'
        ) );

        foreach( $upaae_categories as $single_cat ) {
         if($single_cat->parent < 1) // Display if parent category and exclude child categories
         {
    echo 'Parent: '.$single_cat->name;
    // now get all the child categories
    $child_categories=get_categories(
        array( 'parent' => $single_cat->term_id )
    );
    if(sizeof($child_categories)>0){ /* this is just for ensuring that this parent category do have child categories otherwise a category cannot be a parent if does not have any child categories*/
    echo '###childs###</br>'
    foreach ($child_categories as $child) {

        echo $child->name.'</br>';
    }// end of loop displaying child categories
    } //end of if parent have child categories

         }
        } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...