Я не очень хорошо разбираюсь в 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
Согласование с документацией на Расширенный плагин виджетов категорий, который вы используете — — Вы можете указать ‘orderby’ в настройках вашего плагина. Увидеть этот скриншот.
У вас должен быть случайный или случайный вариант в выпадающем списке.
Не могу подтвердить, потому что это платный плагин.
Просто добавьте «взломать» функцию в файле плагина:
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;
}