在多个分类之间进行简单筛选

时间:2018-05-20 作者:FRQ6692

我创建了两个下拉列表,每个下拉列表一个category & tag 并成功筛选帖子。

之后,我创建了一个自定义分类法cat 并尝试在所有三个下拉列表之间过滤帖子。但用于分类的下拉列表cat 不工作。

<form action="<?php bloginfo(\'url\'); ?>" method="get">                  
<?php
// I use custom taxonomy  "Cat"
    if( $terms = get_terms( \'cat\', \'orderby=name\' ) ) :
        echo \'<select name="cat_name"> <option value="">Cat</option>\';
        foreach ( $terms as $term ) :
            echo \'<option value="\' . $term->name . \'">\' . $term->name . \'</option>\';
        endforeach;
        echo \'</select>\';
    endif;
// I use default  "Categories"
    if( $terms = get_terms( \'category\', \'orderby=name\' ) ) : 
        echo \'<select name="category_name"> <option value="">Categories</option>\';
        foreach ( $terms as $term ) :
            echo \'<option value="\' . $term->name . \'">\' . $term->name . \'</option>\';
        endforeach;
        echo \'</select>\';
    endif;
// I use default  "Tag"
    if( $terms = get_terms( \'post_tag\', \'orderby=name\' ) ) :
        echo \'<select name="tag"><option value="">Tags</option>\';
        foreach ( $terms as $term ) :
            echo \'<option value="\' . $term->name . \'">\' . $term->name . \'</option>\';
        endforeach;
        echo \'</select>\';
    endif;
?>
<input type="submit" name="submit" value="filter" />
</form>
它不适用于分类学cat &;但是为另外两个工作category & tag

What I missing or any suggestions to make all three dropdown working?

Optional: 这就是我创建自定义分类法的方式cat

function custom_taxonomies() {
    $labels = array(
        \'name\' => \'Cat\',
        \'singular_name\' => \'Cat\',
        \'menu_name\' => \'Cat\'
    );
    $args = array(
        \'hierarchical\' => true,
        \'labels\' => $labels,
        \'show_ui\' => true,
        \'show_admin_column\' => true,
        \'query_var\' => true,
        \'rewrite\' => array( \'slug\' => \'cat\' )
    );
    register_taxonomy(\'cat\', array(\'post\'), $args); 
}
add_action( \'init\' , \'custom_taxonomies\' );

1 个回复
最合适的回答,由SO网友:FRQ6692 整理而成

我在回答我自己的问题。这样其他人也可以使用这些类型的过滤器。

更换query_var => truequery_var => cat_name

or

任何其他名称,并在表单中使用它进行自定义分类。

然后自定义分类法会像默认的wordpress一样进行反应category and tag.

结束

相关推荐

apply_filters() function

我用过apply_filters() 从WordPress帖子中检索内容时,如:$content=$query_val->post_content; $content = apply_filters( \'the_content\', $content ); 当我使用apply_filters() 这个apostrophe( \' ) 在我的文本中显示了一些字符。在我移除后apply_filters() 它显示正确。所以请解释清楚!!它在做什么?我已引用此链接Referal_lin