如何在WordPress中显示类别列表

时间:2019-05-02 作者:Brian

如果有人知道,如果有自定义分类列表的插件,那么这样做会更快<但这是我的问题。

我创建帖子类型"product" 以及类别
内柱类型product, 我这样分类

英语词典韩国语小工具手机平板电脑Book,<结果=小说和字典<例如,当我单击Dictionary时,它将显示Dictionary 子类别,结果=英语和韩语。

最后,当我点击英语时,页面将显示英语类别内的所有帖子。

3 个回复
SO网友:nmr

要将结果限制为当前产品类别的子级,可以使用parent 中的参数get_terms(). 这个id 当前类别的,设置为parent 值,将使用get_queried_object().

$term_id = 0;
$queried_object = get_queried_object();
//
// check if it\'s a custom category
if ( $queried_object instanceof WP_Term )
    $term_id = $queried_object->term_id;

$args = array(
    \'taxonomy\'   => \'product_cat\',
    \'parent\'     => $term_id,  // get only direct children
    //\'child_of\' => $term_id,  // get all children 
    //\'hide_empty\' => false,
);
$terms = get_terms( $args );
如果要将当前类别附加到结果(在子类别之前):

$terms = get_terms( $args );
if ($queried_object instanceof WP_Term) {
    array_unshift( $terms, $queried_object );
}
完整代码示例:

if ( is_archive(\'product\') ) //  OR: is_product_category()
{
    $term_id = 0;
    $queried_object = get_queried_object();
    //
    // check if it\'s a custom category
    if ( $queried_object instanceof WP_Term )
        $term_id = $queried_object->term_id;

    $args = array(
        \'taxonomy\'   => \'product_cat\',
        \'parent\'     => $term_id,  // get only direct children
        //\'child_of\' => $term_id,  // get all children 
        //\'hide_empty\' => false,
    );
    $terms = get_terms( $args );
    //
    // add current category at beginning
    if ($queried_object instanceof WP_Term) {
        array_unshift( $terms, $queried_object );
    }
    //
    // Check if any term exists and print them all
    if ( ! empty( $terms ) && is_array( $terms ) ) 
    {
        echo \'<ul>\';
        foreach ( $terms as $term ) { 
            printf(\'<li><a href="%s">%s</a></li>\',
                esc_url( get_term_link( $term ) ),
                $term->name
            );
        }
        echo \'</ul>\';
    }
}

SO网友:Oleh

<?php
$args = array(
  \'taxonomy\'     => \'your-category-name\',
  \'hierarchical\' => true,
  \'title_li\'     => \'\',
  \'hide_empty\'   => false
);
?>

<ul>
<?php wp_list_categories( $args ); ?>
</ul>
您还可以将wp\\u list\\u categories功能用于分类。

http://codex.wordpress.org/Template_Tags/wp_list_categories

SO网友:Brian

我发现了这个,更具体地说,我为它设置了父类别id<也许我会把结果作为快捷码。

$term_id = 3;
$taxonomy_name = \'category_name\';
$termchildren = get_term_children( $term_id, $taxonomy_name );

echo \'<ul>\';
foreach ( $termchildren as $child ) {
    $term = get_term_by( \'id\', $child, $taxonomy_name );
    echo \'<li><a href="\' . get_term_link( $child, $taxonomy_name ) . \'">\' . $term->name . \'</a></li>\';
}
echo \'</ul>\';

相关推荐

Display Custom Taxonomy names

我正在尝试显示自定义帖子类型的自定义分类法。因此,此分类法特定于此自定义帖子类型。不幸的是,我无法让它们显示出来。这是我在函数中的代码。php注册自定义分类法:add_action(\'init\', \'products_categories\', 0); function products_categories(){ $labels = array (\'name\' => _x(\'Product Categories\',\'taxonomy general nam