我想在WordPress中为自定义分类法创建字母导航,而不影响网站设计

我想在WordPress中为自定义分类法创建字母导航,而不影响网站设计,wordpress,custom-taxonomy,directory-listing,alphabetical-sort,Wordpress,Custom Taxonomy,Directory Listing,Alphabetical Sort,我想在WordPress中为自定义分类法创建字母导航,而不影响网站设计?如果用户单击任何字母表(如a),则它将显示所有列表类别,并以列表数据的相同条件过滤器开头 我尝试过一些插件,如A_Z列表、字母分页(根本不起作用,总是要求高级版本,我如何使用它)、A2Z字母存档链接(仅适用于帖子,不适用于自定义列表类别) /test/#letter-B只在地址栏上显示,而不过滤,所以我想到了一点。按字母顺序进行分类。然后将这些字母添加到过滤器中。然后使用一些javascript来过滤你。希望有帮助

我想在WordPress中为自定义分类法创建字母导航,而不影响网站设计?如果用户单击任何字母表(如a),则它将显示所有列表类别,并以列表数据的相同条件过滤器开头

我尝试过一些插件,如A_Z列表、字母分页(根本不起作用,总是要求高级版本,我如何使用它)、A2Z字母存档链接(仅适用于帖子,不适用于自定义列表类别)


/test/#letter-B只在地址栏上显示,而不过滤,所以我想到了一点。按字母顺序进行分类。然后将这些字母添加到过滤器中。然后使用一些javascript来过滤你。希望有帮助

    $terms = get_terms( array (
        'hide_empty' => 'false',
        'taxonomy'   => 'your_taxonomy',
        'order'      => 'ASC',
        'orderby'    => 'name',
    ));

    $filter_letters = array();
    $tax_wrap;
    $filter_wrap = '<div class="filter-wrap">';
    foreach($terms as $t) :
        $letter = substr( $t->name, 0, 1 );
        if(!in_array($letter, $filter_letters)) {
            $filter_letters[] = $letter;
            $filter_wrap .= '<span id="letter-' . $letter . '" class="letter">' . $letter . '</span>';
        }
        $tax_wrap .= '<div class="letter-' . $letter .' tax-row">
                        <a href="' . esc_url(get_term_link( $t )) .'">' . $t->name .'</a>
                    </div>';

    endforeach;
    $filter_wrap .= '</div>';

    ob_start();
    echo $filter_wrap;
    echo $tax_wrap;
    ?>
    <script>
        jQuery(function( $ ){
            $('.filter-wrap .letter').click(function() {
                $('.tax-row').hide();
                var id = $(this).attr('id');
                $('.' + id).show();
            });
        });
    </script>

    <?php

    return ob_get_clean();
$terms=get\u terms(数组)(
'hide_empty'=>'false',
“分类法”=>“你的分类法”,
“订单”=>“ASC”,
'orderby'=>'name',
));
$filter_letters=array();
$tax_wrap;
$filter_wrap='';
foreach(条款为$t):
$letter=substr($t->name,0,1);
if(!in_数组($letter,$filter_letters)){
$filter_letters[]=$letter;
$filter_wrap.=''.$letter.'';
}
$tax_wrap.='
';
endforeach;
$filter_wrap.='';
ob_start();
回声$filter\u wrap;
echo$tax_wrap;
?>
jQuery(函数($){
$('.filter wrap.letter')。单击(函数(){
$('.tax行').hide();
var id=$(this.attr('id');
$('.+id).show();
});
});