当前位置:  开发笔记 > 编程语言 > 正文

如何在WordPress中订购类别?

如何解决《如何在WordPress中订购类别?》经验,为你挑选了2个好方法。

wp_list_categories()用来获取所有类别的列表并生成导航栏.有没有办法按字母排序以特定顺序排序这些类别.

例如:Connect,News&Views,Q&A,Hello Startup,Startup 101 ......



1> 小智..:

大多数主题都不会使用类别的描述。我所做的简单解决方法是在说明中使用数字。目前,此处的热门文章中有一些来自jQuery的技巧,是不需要的。

您也可以添加自定义订单字段。

只是

$categories = get_categories( array(
    'orderby' => 'description',
    'order'   => 'ASC'
) );



2> reus..:

如果您不使用类别的"描述"字段,也可以通过在每个"描述"字段中输入一个数字来完成排序,然后根据此编号使用Javascript/jQuery进行排序.

wp_list_categories函数有一个use_desc_for_title参数,您可以将其设置为true:

wp_list_categories('use_desc_for_title=1');

类别描述现在在生成的html中设置为标签的title属性.

因此,如果您在说明字段中使用数字,则生成的类别列表可能如下所示:

 

现在您可以对列表进行排序,例如在document.ready事件中使用jQuery.如果以分层方式使用子类别,请使用如下的递归函数:

$( document ).ready( 
    function() {
       sort_list_recursive( $( '#category_list' ) );
    }
);

function sort_list_recursive( parent ) {
    var lst = parent.children( 'li' );
    lst.sort(
        function( a, b ) {
            var _a = a.getElementsByTagName( 'a' )[0].title;
            var _b = b.getElementsByTagName( 'a' )[0].title;
            return _a > _b ? 1 : -1;
        }
    ).appendTo( parent );
    lst.each( function() {
        $( this ).children( 'ul' ).each( function() {
            sort_list_recursive( $( this ) );
        });
    });
}

NB

不要在描述字段中使用0(零),它将被忽略并设置为null

排序后你可能想要摆脱设置为数字的标题属性,这可以通过jQuery轻松完成.


哇真的,这会变得更加骇客吗?
推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有