最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Display some WordPress categories as random order

programmeradmin0浏览0评论

I use this code to display some of the categories:

<?php
   $categories = get_categories( array(
       'orderby' => 'name',
       'order'   => 'ASC',
       'exclude' => 'all',
       'include' => '135,19,124,133,126',
   ) );
   foreach  ($categories as $category) {
       echo '<div class="category-list">';
       echo '<a href="' . get_category_link( $category->term_id ) . ' "><div class="image_wrapper2 is-image list-image">'. do_shortcode(sprintf('[wp_custom_image_category term_id="%s"]',$category->term_id)). '</div></a>' ;
       echo '<div class="image-category-mosje"><h2 class="title-category"><a href=" ' . get_category_link( $category->term_id ) . ' "> '.$category->name.' </a></h2></div>';
       echo '<span class="category-count"> ' . $category->count . '</span>';
       echo '</div>';
   }
?>

But there is a problem displaying in alphabetical order. I want the show to be random and every time it has a different order. Can anyone help?

I use this code to display some of the categories:

<?php
   $categories = get_categories( array(
       'orderby' => 'name',
       'order'   => 'ASC',
       'exclude' => 'all',
       'include' => '135,19,124,133,126',
   ) );
   foreach  ($categories as $category) {
       echo '<div class="category-list">';
       echo '<a href="' . get_category_link( $category->term_id ) . ' "><div class="image_wrapper2 is-image list-image">'. do_shortcode(sprintf('[wp_custom_image_category term_id="%s"]',$category->term_id)). '</div></a>' ;
       echo '<div class="image-category-mosje"><h2 class="title-category"><a href=" ' . get_category_link( $category->term_id ) . ' "> '.$category->name.' </a></h2></div>';
       echo '<span class="category-count"> ' . $category->count . '</span>';
       echo '</div>';
   }
?>

But there is a problem displaying in alphabetical order. I want the show to be random and every time it has a different order. Can anyone help?

Share Improve this question edited Jun 25, 2019 at 7:59 Krzysiek Dróżdż 25.6k9 gold badges53 silver badges74 bronze badges asked Jun 25, 2019 at 7:35 omid chahardoliomid chahardoli 191 silver badge9 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

get_categories doesn't allow you to set rand as orderby AFAIR, but that's not a big deal. It returns an array, so in your case all you have to do is to shuffle that array:

<?php
   $categories = get_categories( array(
       'orderby' => 'name',
       'order'   => 'ASC',
       'exclude' => 'all',
       'include' => '135,19,124,133,126',
   ) );
   shuffle ( $categories );
   foreach  ($categories as $category) {
       echo '<div class="category-list">';
       echo '<a href="' . get_category_link( $category->term_id ) . ' "><div class="image_wrapper2 is-image list-image">'. do_shortcode(sprintf('[wp_custom_image_category term_id="%s"]',$category->term_id)). '</div></a>' ;
       echo '<div class="image-category-mosje"><h2 class="title-category"><a href=" ' . get_category_link( $category->term_id ) . ' "> '.$category->name.' </a></h2></div>';
       echo '<span class="category-count"> ' . $category->count . '</span>';
       echo '</div>';
   }
?>
发布评论

评论列表(0)

  1. 暂无评论