I'm trying to write a wordpress function code in my child theme that randomizes the words in the word cloud where previously it was alphabetized.

The code Im using is below, which doesn't work.

add_filter('wp_tag_cloud_args', 'my_wp_tag_cloud_args_filter');
function my_wp_nav_menu_args_filter($args) {
    $args['order'] = 'RAND';
    // do something
    return $args;

I'm able to update the wp_tag_cloud()'s default ('Order' = 'RAND') args in wp-includes/category-template.php but I know that any changes will get replaced. The change work when in that file.

How can I move those set of changes to my wordpress child theme?

1 Answer 1


Try the tag_cloud_sort hook:

add_filter( 'tag_cloud_sort', 'shuffle_tags', 10, 2 );
function shuffle_tags( $tags, $args ) {
    shuffle( $tags );
    return $tags;

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.