列表类别按顺序排序

时间:2015-12-06 14:35:58

标签: php wordpress wp-list-categories

我对PHP不好。

我使用“高级类别窗口小部件”列出补充工具栏上的类别。

我使用此插件是因为它提供了显示图像类别的功能。

但我需要随机订购类别。

我在插件上找到了这段代码:

function advanced_categories_widget_html( $args = array() ) {
    $args = wp_parse_args( $args );
    $args['walker'] = new Walker_Advance_Category_Widget;
    $output = wp_list_categories( $args );
    if ( $output ) return $output;
}

和我在论坛上找到另一个代码,按随机顺序正确显示类别:

wp_list_categories

我如何利用第二个代码破解第一个代码以随机顺序列出我的类别?

插件的PHP文件:http://codepad.org/a3yU7Xny

2 个答案:

答案 0 :(得分:0)

只需添加" hack"插件文件中的函数:

function advanced_categories_widget_html( $args = array() ) {
    $args = wp_parse_args( $args );
    $args['walker'] = new Walker_Advance_Category_Widget;
    $cats ='';
    $categories=get_categories();
    $rand_keys = array_rand($categories, 5); // 5 is the number of categories you want
    foreach ($rand_keys as $key) {
        $cats .= $categories[$key]->term_id .',';
    }
    $output = wp_list_categories($args.'&include='.$cats);        
    if ( $output ) return $output;
}

或者通过更简洁的方式,添加你的functions.php文件:

function random_advanced_categories_widget_html( $args = array() ) {
    $args = wp_parse_args( $args );
    $args['walker'] = new Walker_Advance_Category_Widget;
    $cats ='';
    $categories=get_categories();
    $rand_keys = array_rand($categories, 5); // 5 is the number of categories you want
    foreach ($rand_keys as $key) {
        $cats .= $categories[$key]->term_id .',';
    }
    $output = wp_list_categories($args.'&include='.$cats);        
    if ( $output ) return $output;
}

答案 1 :(得分:0)

根据Advanced Categories Widget plugin you're using上的文档 - 您可以在插件设置中指定'orderby'。请参阅this screenshot

下拉列表中应该有随机或rand选项。

无法确认这是一个付费插件。