wp_list_categories - 使用自定义分类法

时间:2012-02-13 19:11:46

标签: wordpress

我正在努力进行更多编码:(

我编写了一个自定义PHP页面来循环自定义帖子类型。现在我想要的是列出自定义帖子类别,并让每个类别链接到同一页面,但将类别传递给query_posts()函数。

我的代码目前正在

    <div id="left" style="float:left;width:200px">
<b>Categories</b><br><br>
    <?php wp_list_categories( $args );   ?>
</div>  <!-- end of left container -->


<div id="middle" style="float:left;width:700px">

<?php

$args = array(
'post_type'=> 'e-books',
'showposts' => '-1',
'eCats'    => $cat,
'order'    => 'ASC'
);
query_posts( $args );

其中

$cat = $_GET['cat'] 

我想要的是来自wp_list_categories()的每个链接都是这样的。

http://example.com/products.php?cat=fiction

这可能吗?我无法理解Walker课程:(我已经走到了这一步

class MyWalker extends Walker_Category {

function start_el(&$output, $category, $depth, $args) {
    extract($args);

    $cat_name = esc_attr( $category->name );
    $cat_name = apply_filters( 'list_cats', $cat_name, $category );
    $link = '<a href="products.php?cat="';
    $link .= $cat_name;
    $link .= '>';
    $link .= $cat_name . '</a>';

    if ( 'list' == $args['style'] ) {
        $output .= "\t<li";
        $class = 'cat-item cat-item-' . $category->term_id;
        if ( !empty($current_category) ) {
            $_current_category = get_term( $current_category, $category->taxonomy );
            if ( $category->term_id == $current_category )
                $class .=  ' current-cat';
            elseif ( $category->term_id == $_current_category->parent )
                $class .=  ' current-cat-parent';
        }
        $output .=  ' class="' . $class . '"';
        $output .= ">$link\n";
    } else {
        $output .= "\t$link<br />\n";
    }
}
}

但链接未完成 - 它们显示为

?cat= 

3 个答案:

答案 0 :(得分:0)

wp_list_categories ( [ 'taxonomy' => 'your-taxonomy-slug' ] )

答案 1 :(得分:0)

<?php wp_list_categories( [ 'taxonomy' => 'taxonomy-slug' ] ) ?>

答案 2 :(得分:-1)

对于具有自定义分类的列表类别: 你可以跟随代码:

$catnames = get_terms( 'custom taxonomy name');

然后使用foreach循环来显示类别。