admin管理员组

文章数量:1130349

I want to display 5 users by random who have published more than 10 posts but is not working. What I've done so far is

$args = array(
        'number' => 5 ,
        'meta_key' => 'post_count',
        'meta_value' => 10,
        'meta_compare' => '>',
        'orderby' => 'rand'
     );

$user_query = new WP_User_Query( $args );

if ( ! empty( $user_query->get_results() ) ) {
    foreach ( $user_query->get_results() as $user ) {
         echo  $user->display_name ;
     }
   } else {
              echo 'No users found.';
     }

I appreciate any help from you.

I want to display 5 users by random who have published more than 10 posts but is not working. What I've done so far is

$args = array(
        'number' => 5 ,
        'meta_key' => 'post_count',
        'meta_value' => 10,
        'meta_compare' => '>',
        'orderby' => 'rand'
     );

$user_query = new WP_User_Query( $args );

if ( ! empty( $user_query->get_results() ) ) {
    foreach ( $user_query->get_results() as $user ) {
         echo  $user->display_name ;
     }
   } else {
              echo 'No users found.';
     }

I appreciate any help from you.

Share Improve this question edited Nov 6, 2018 at 16:57 fuxia 107k39 gold badges255 silver badges461 bronze badges asked Nov 6, 2018 at 7:51 p onelandp oneland 171 silver badge8 bronze badges 1
  • The meta query looks off, check e.g. how to construct the meta_query argument. In general random ordering and meta queries do not scale very well.. – birgire Commented Nov 6, 2018 at 9:05
Add a comment  | 

1 Answer 1

Reset to default 0

I can see in your code you did mistakes with meta key arguments. You must use underscore instead of hyphen sign. Here is corrected code:

$args = array(
            'number' => 5 ,
            'meta_key' => 'post_count',
            'meta_value' => 10,
            'meta_compare' => '>',
            'orderby' => 'rand'
            );

            $user_query = new WP_User_Query( $args );

            if ( ! empty( $user_query->get_results() ) ) {
                foreach ( $user_query->get_results() as $user ) {

                    echo  $user->display_name ;

                }
            } else {
                echo 'No users found.';
            }

Hope this will work!

I want to display 5 users by random who have published more than 10 posts but is not working. What I've done so far is

$args = array(
        'number' => 5 ,
        'meta_key' => 'post_count',
        'meta_value' => 10,
        'meta_compare' => '>',
        'orderby' => 'rand'
     );

$user_query = new WP_User_Query( $args );

if ( ! empty( $user_query->get_results() ) ) {
    foreach ( $user_query->get_results() as $user ) {
         echo  $user->display_name ;
     }
   } else {
              echo 'No users found.';
     }

I appreciate any help from you.

I want to display 5 users by random who have published more than 10 posts but is not working. What I've done so far is

$args = array(
        'number' => 5 ,
        'meta_key' => 'post_count',
        'meta_value' => 10,
        'meta_compare' => '>',
        'orderby' => 'rand'
     );

$user_query = new WP_User_Query( $args );

if ( ! empty( $user_query->get_results() ) ) {
    foreach ( $user_query->get_results() as $user ) {
         echo  $user->display_name ;
     }
   } else {
              echo 'No users found.';
     }

I appreciate any help from you.

Share Improve this question edited Nov 6, 2018 at 16:57 fuxia 107k39 gold badges255 silver badges461 bronze badges asked Nov 6, 2018 at 7:51 p onelandp oneland 171 silver badge8 bronze badges 1
  • The meta query looks off, check e.g. how to construct the meta_query argument. In general random ordering and meta queries do not scale very well.. – birgire Commented Nov 6, 2018 at 9:05
Add a comment  | 

1 Answer 1

Reset to default 0

I can see in your code you did mistakes with meta key arguments. You must use underscore instead of hyphen sign. Here is corrected code:

$args = array(
            'number' => 5 ,
            'meta_key' => 'post_count',
            'meta_value' => 10,
            'meta_compare' => '>',
            'orderby' => 'rand'
            );

            $user_query = new WP_User_Query( $args );

            if ( ! empty( $user_query->get_results() ) ) {
                foreach ( $user_query->get_results() as $user ) {

                    echo  $user->display_name ;

                }
            } else {
                echo 'No users found.';
            }

Hope this will work!

本文标签: How to query users by post count no less than 10