Получить список подкатегории - PullRequest
4 голосов
/ 11 января 2010

У меня есть эта категория на моем WordPress:

Test1
  - Sub1OfTest1
  - Sub2OfTest1
Test2
  - Sub1OfTest2
  - Sub2OfTest2

Теперь я в URL: http://localhost/wordpress/category/test1 Я пишу следующий код в файл category-test1.php

<?php
$categories =  get_categories('child_of=2');

print_r($categories);
foreach ($categories as $category) : ?>

        <div class="qitem">
            <a href="<?php get_category_link( $category->term_id ); ?>" title="<?php echo $category->name; ?>">
                <?php echo $category->name; ?>
            </a>
            <h4>
                <span class="caption">
                    <?php echo $category->name; ?>
                </span>
            </h4>
            <p>
                <span class="caption">
                    <?php echo $category->description; ?>
                </span>
            </p>
        </div>
<?php
endforeach;
?>

Я пытаюсь показать подкатегорию Test1, но код возвращает только array (). Что я пропустил?

Ответы [ 4 ]

10 голосов
/ 13 января 2010

Эта категория пуста? По умолчанию WordPress скрывает категории emptr. попробовать:

$categories =  get_categories('child_of=2&hide_empty=0');

Редактировать: Исправлено, спасибо @ Stoep

0 голосов
/ 08 июля 2017

// Это кодирование получения подкатегории и подкатегории

<code>    $args = array
    (
        'number'     => $number,
        'orderby'    => 'title',
        'order'      => 'ASC',
        'hide_empty' => false,
        'include'    => array(11,281,28,51,99,93,33,55,107,20),
        'exclude'    => array(32,29),
    );
    $product_categories = get_terms( 'product_cat', $args );
    // echo '<pre>';
    // print_r($product_categories);
    // echo '
'; foreach ($ product_categories как $ data): если ($ data-> slug = 'cooking') { $ child_arg = array ('hide_empty' => false, 'parent' => $ data-> term_id, 'exclude' => array (32,29)); } еще { $ child_arg = array ('hide_empty' => false, 'parent' => $ data-> term_id); } $ child_terms = get_terms ('product_cat', $ child_arg); // echo "
";
        // print_r($child_terms);
        // echo "
"; foreach ($ child_terms как $ data1): если ($ data1-> slug = 'cooking') { $ sub_child_arg = array ('hide_empty' => false, 'parent' => $ data1-> term_id, 'exclude' => array (32,29)); } еще { $ sub_child_arg = array ('hide_empty' => false, 'parent' => $ data1-> term_id); } $ sub_child_terms = get_terms ('product_cat', $ sub_child_arg); // echo "
";
            // print_r($sub_child_terms);
            // echo "
"; endforeach; endforeach; ?>
0 голосов
/ 27 марта 2013

попробуйте тоже - Показать только подкатегории WordPress

эта тема также может помочь, так как существуют разные решения для отображения подкатегорий.

0 голосов
/ 11 января 2010

Аргумент child_of для get_categories указывает категорию по ее идентификатору - при условии, что вы создали свои категории по порядку, код get_categories('child_of=2'), вероятно, запрашивает подкатегории Sub1OfTest1.

Чтобы получить идентификатор категории, перейдите в раздел Сообщения & rarr; Категории и нажмите на категорию. Cat_ID будет в URL страницы.

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