functions – Display a list of random terms from custom taxonomy with shortcode

Question

I try to output a list of terms from my custom taxonomy.
I am almost sure I was using this code snippet before, but somehow WP throws errors:

  • shuffle() expects parameter 1 to be array
  • array_slice() expects parameter 1 to be array
  • usort() expects parameter 1 to be array, null given
/* Show Custom Taxonomy Terms */

function these_rand_tax1() {
$max = 8; //number of categories to display
$taxonomy = 'baumaschinen_cat';
$terms = get_terms('taxonomy='.$taxonomy.'&orderby=name&order=ASC&hide_empty=0');


// Random order
shuffle($terms);


// Get first $max items
$terms = array_slice($terms, 0, $max);


// Sort by name
usort($terms, function($a, $b){
  return strcasecmp($a->name, $b->name);
});


// Echo random terms sorted alphabetically
if ($terms) {
  foreach($terms as $term) {
    echo '<p><a href="' .get_term_link( $term, $taxonomy ) . '" title="' .  sprintf( __( "View all posts in %s" ), $term->name ) . '" ' . '>' . $term->name.'</a></p> ';
  }
}
}


add_shortcode('random_taxonomies','these_rand_tax1');
add_filter('widget_text', 'do_shortcode');

What is going wrong here and how can I achieve a random taxonomy term list?

0
Peterx20 2 weeks 2021-11-13T08:19:17-05:00 0 Answers 0 views 0

Leave an answer

Browse
Browse