我对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;
}
和我在论坛上找到另一个代码,按随机顺序正确显示类别:
我如何利用第二个代码破解第一个代码以随机顺序列出我的类别?
插件的PHP文件:http://codepad.org/a3yU7Xny
答案 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选项。
无法确认这是一个付费插件。