Sort in WP_Query(), not filter? Is it possible?2019 Community Moderator ElectionOrder by multiple meta key and meta valueWp_query: sort by PHP variableSort All Posts by Category Name in the Admin Panel?Possible to create a permalink to sort with meta_key?Custome column sort by date not titleWP_Query with multiple orderby NOT working with ASC and DESC, what's wrong?sort query results by newestOrderby ASC changes to DESC in WP_QueryLimit WP_Query to only X results (total, not per page)Understanding the orderby in WP_Query?Changing WP_Query params with url Query Var

Multi tool use
Multi tool use

Unbreakable Formation vs. Cry of the Carnarium

Are cabin dividers used to "hide" the flex of the airplane?

Can I find out the caloric content of bread by dehydrating it?

Email Account under attack (really) - anything I can do?

How can I add custom success page

Was there ever an axiom rendered a theorem?

Lied on resume at previous job

Information to fellow intern about hiring?

What's the difference between repeating elections every few years and repeating a referendum after a few years?

Prime joint compound before latex paint?

How can I fix this gap between bookcases I made?

What do the Banks children have against barley water?

How did the USSR manage to innovate in an environment characterized by government censorship and high bureaucracy?

Mapping arrows in commutative diagrams

Why is making salt water prohibited on Shabbat?

How would photo IDs work for shapeshifters?

How to make payment on the internet without leaving a money trail?

What does 'script /dev/null' do?

Crop image to path created in TikZ?

Manga about a female worker who got dragged into another world together with this high school girl and she was just told she's not needed anymore

Check if two datetimes are between two others

Why do UK politicians seemingly ignore opinion polls on Brexit?

Copycat chess is back

Why did the Germans forbid the possession of pet pigeons in Rostov-on-Don in 1941?



Sort in WP_Query(), not filter? Is it possible?



2019 Community Moderator ElectionOrder by multiple meta key and meta valueWp_query: sort by PHP variableSort All Posts by Category Name in the Admin Panel?Possible to create a permalink to sort with meta_key?Custome column sort by date not titleWP_Query with multiple orderby NOT working with ASC and DESC, what's wrong?sort query results by newestOrderby ASC changes to DESC in WP_QueryLimit WP_Query to only X results (total, not per page)Understanding the orderby in WP_Query?Changing WP_Query params with url Query Var



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















I want to query and SORT in WP_Query(). But whatever I do, it only prints posts with meta_key set up. But I want all the results and just sort them.



This is my query:



$query = new WP_Query(array(
'post_type' => 'my_post_type',
'post_status' => 'publish',
'posts_per_page' => -1,
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC'
));


Any ideas how to make sorting happen? It sorts, but only shows posts with meta_key set up. I want all the posts.










share|improve this question

















  • 1





    You'll need to hook into the posts_orderby filter for that.

    – mrben522
    9 hours ago











  • Ok so as I understand correctly. I now have custom posts in wp_posts table and custom meta in wp_postmeta. Now I only need a way to "connect" those two. So in return it should be something like wp_posts.wp_postmeta DESC? Or how do I connect those two tables? Thanks a lot!

    – LubWn
    9 hours ago

















1















I want to query and SORT in WP_Query(). But whatever I do, it only prints posts with meta_key set up. But I want all the results and just sort them.



This is my query:



$query = new WP_Query(array(
'post_type' => 'my_post_type',
'post_status' => 'publish',
'posts_per_page' => -1,
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC'
));


Any ideas how to make sorting happen? It sorts, but only shows posts with meta_key set up. I want all the posts.










share|improve this question

















  • 1





    You'll need to hook into the posts_orderby filter for that.

    – mrben522
    9 hours ago











  • Ok so as I understand correctly. I now have custom posts in wp_posts table and custom meta in wp_postmeta. Now I only need a way to "connect" those two. So in return it should be something like wp_posts.wp_postmeta DESC? Or how do I connect those two tables? Thanks a lot!

    – LubWn
    9 hours ago













1












1








1








I want to query and SORT in WP_Query(). But whatever I do, it only prints posts with meta_key set up. But I want all the results and just sort them.



This is my query:



$query = new WP_Query(array(
'post_type' => 'my_post_type',
'post_status' => 'publish',
'posts_per_page' => -1,
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC'
));


Any ideas how to make sorting happen? It sorts, but only shows posts with meta_key set up. I want all the posts.










share|improve this question














I want to query and SORT in WP_Query(). But whatever I do, it only prints posts with meta_key set up. But I want all the results and just sort them.



This is my query:



$query = new WP_Query(array(
'post_type' => 'my_post_type',
'post_status' => 'publish',
'posts_per_page' => -1,
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC'
));


Any ideas how to make sorting happen? It sorts, but only shows posts with meta_key set up. I want all the posts.







wp-query sort






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 9 hours ago









LubWnLubWn

154




154







  • 1





    You'll need to hook into the posts_orderby filter for that.

    – mrben522
    9 hours ago











  • Ok so as I understand correctly. I now have custom posts in wp_posts table and custom meta in wp_postmeta. Now I only need a way to "connect" those two. So in return it should be something like wp_posts.wp_postmeta DESC? Or how do I connect those two tables? Thanks a lot!

    – LubWn
    9 hours ago












  • 1





    You'll need to hook into the posts_orderby filter for that.

    – mrben522
    9 hours ago











  • Ok so as I understand correctly. I now have custom posts in wp_posts table and custom meta in wp_postmeta. Now I only need a way to "connect" those two. So in return it should be something like wp_posts.wp_postmeta DESC? Or how do I connect those two tables? Thanks a lot!

    – LubWn
    9 hours ago







1




1





You'll need to hook into the posts_orderby filter for that.

– mrben522
9 hours ago





You'll need to hook into the posts_orderby filter for that.

– mrben522
9 hours ago













Ok so as I understand correctly. I now have custom posts in wp_posts table and custom meta in wp_postmeta. Now I only need a way to "connect" those two. So in return it should be something like wp_posts.wp_postmeta DESC? Or how do I connect those two tables? Thanks a lot!

– LubWn
9 hours ago





Ok so as I understand correctly. I now have custom posts in wp_posts table and custom meta in wp_postmeta. Now I only need a way to "connect" those two. So in return it should be something like wp_posts.wp_postmeta DESC? Or how do I connect those two tables? Thanks a lot!

– LubWn
9 hours ago










2 Answers
2






active

oldest

votes


















3














If you want to sort the posts by the meta post_views_count, and still include posts that do not have that meta, you can use meta_query like so:



'meta_query' => array(
'relation' => 'OR', // make sure it's OR
// Include posts that have the meta.
array(
'key' => 'post_views_count',
'compare' => 'EXISTS',
),
// Include posts that don't have the meta.
array(
'key' => 'post_views_count',
'compare' => 'NOT EXISTS',
),
),


And you can just use that in place of this:



'meta_key' => 'post_views_count',


I.e. Your code would look like:



$query = new WP_Query(array(
'post_type' => 'my_post_type',
'post_status' => 'publish',
'posts_per_page' => -1,
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'post_views_count',
'compare' => 'EXISTS',
),
array(
'key' => 'post_views_count',
'compare' => 'NOT EXISTS',
),
),
'orderby' => 'meta_value_num',
'order' => 'DESC',
));





share|improve this answer






























    1














    Have you already tried 'meta_query'? See Order by multiple meta key and meta value [closed]. In your case maybe like so:



    $query = new WP_Query([
    'post_type' => 'my_post_type',
    'post_status' => 'publish',
    'posts_per_page' => -1,
    'meta_query' => [
    'relation' => 'OR',
    'post_views_count' => [
    'key' => 'post_views_count',
    'compare' => 'EXISTS',
    ],
    ],
    'orderby' => [
    'post_views_count' => 'DESC',
    'title' => 'ASC',
    ],
    ]);





    share|improve this answer























      Your Answer








      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "110"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fwordpress.stackexchange.com%2fquestions%2f333787%2fsort-in-wp-query-not-filter-is-it-possible%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      3














      If you want to sort the posts by the meta post_views_count, and still include posts that do not have that meta, you can use meta_query like so:



      'meta_query' => array(
      'relation' => 'OR', // make sure it's OR
      // Include posts that have the meta.
      array(
      'key' => 'post_views_count',
      'compare' => 'EXISTS',
      ),
      // Include posts that don't have the meta.
      array(
      'key' => 'post_views_count',
      'compare' => 'NOT EXISTS',
      ),
      ),


      And you can just use that in place of this:



      'meta_key' => 'post_views_count',


      I.e. Your code would look like:



      $query = new WP_Query(array(
      'post_type' => 'my_post_type',
      'post_status' => 'publish',
      'posts_per_page' => -1,
      'meta_query' => array(
      'relation' => 'OR',
      array(
      'key' => 'post_views_count',
      'compare' => 'EXISTS',
      ),
      array(
      'key' => 'post_views_count',
      'compare' => 'NOT EXISTS',
      ),
      ),
      'orderby' => 'meta_value_num',
      'order' => 'DESC',
      ));





      share|improve this answer



























        3














        If you want to sort the posts by the meta post_views_count, and still include posts that do not have that meta, you can use meta_query like so:



        'meta_query' => array(
        'relation' => 'OR', // make sure it's OR
        // Include posts that have the meta.
        array(
        'key' => 'post_views_count',
        'compare' => 'EXISTS',
        ),
        // Include posts that don't have the meta.
        array(
        'key' => 'post_views_count',
        'compare' => 'NOT EXISTS',
        ),
        ),


        And you can just use that in place of this:



        'meta_key' => 'post_views_count',


        I.e. Your code would look like:



        $query = new WP_Query(array(
        'post_type' => 'my_post_type',
        'post_status' => 'publish',
        'posts_per_page' => -1,
        'meta_query' => array(
        'relation' => 'OR',
        array(
        'key' => 'post_views_count',
        'compare' => 'EXISTS',
        ),
        array(
        'key' => 'post_views_count',
        'compare' => 'NOT EXISTS',
        ),
        ),
        'orderby' => 'meta_value_num',
        'order' => 'DESC',
        ));





        share|improve this answer

























          3












          3








          3







          If you want to sort the posts by the meta post_views_count, and still include posts that do not have that meta, you can use meta_query like so:



          'meta_query' => array(
          'relation' => 'OR', // make sure it's OR
          // Include posts that have the meta.
          array(
          'key' => 'post_views_count',
          'compare' => 'EXISTS',
          ),
          // Include posts that don't have the meta.
          array(
          'key' => 'post_views_count',
          'compare' => 'NOT EXISTS',
          ),
          ),


          And you can just use that in place of this:



          'meta_key' => 'post_views_count',


          I.e. Your code would look like:



          $query = new WP_Query(array(
          'post_type' => 'my_post_type',
          'post_status' => 'publish',
          'posts_per_page' => -1,
          'meta_query' => array(
          'relation' => 'OR',
          array(
          'key' => 'post_views_count',
          'compare' => 'EXISTS',
          ),
          array(
          'key' => 'post_views_count',
          'compare' => 'NOT EXISTS',
          ),
          ),
          'orderby' => 'meta_value_num',
          'order' => 'DESC',
          ));





          share|improve this answer













          If you want to sort the posts by the meta post_views_count, and still include posts that do not have that meta, you can use meta_query like so:



          'meta_query' => array(
          'relation' => 'OR', // make sure it's OR
          // Include posts that have the meta.
          array(
          'key' => 'post_views_count',
          'compare' => 'EXISTS',
          ),
          // Include posts that don't have the meta.
          array(
          'key' => 'post_views_count',
          'compare' => 'NOT EXISTS',
          ),
          ),


          And you can just use that in place of this:



          'meta_key' => 'post_views_count',


          I.e. Your code would look like:



          $query = new WP_Query(array(
          'post_type' => 'my_post_type',
          'post_status' => 'publish',
          'posts_per_page' => -1,
          'meta_query' => array(
          'relation' => 'OR',
          array(
          'key' => 'post_views_count',
          'compare' => 'EXISTS',
          ),
          array(
          'key' => 'post_views_count',
          'compare' => 'NOT EXISTS',
          ),
          ),
          'orderby' => 'meta_value_num',
          'order' => 'DESC',
          ));






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 8 hours ago









          Sally CJSally CJ

          5,3562516




          5,3562516























              1














              Have you already tried 'meta_query'? See Order by multiple meta key and meta value [closed]. In your case maybe like so:



              $query = new WP_Query([
              'post_type' => 'my_post_type',
              'post_status' => 'publish',
              'posts_per_page' => -1,
              'meta_query' => [
              'relation' => 'OR',
              'post_views_count' => [
              'key' => 'post_views_count',
              'compare' => 'EXISTS',
              ],
              ],
              'orderby' => [
              'post_views_count' => 'DESC',
              'title' => 'ASC',
              ],
              ]);





              share|improve this answer



























                1














                Have you already tried 'meta_query'? See Order by multiple meta key and meta value [closed]. In your case maybe like so:



                $query = new WP_Query([
                'post_type' => 'my_post_type',
                'post_status' => 'publish',
                'posts_per_page' => -1,
                'meta_query' => [
                'relation' => 'OR',
                'post_views_count' => [
                'key' => 'post_views_count',
                'compare' => 'EXISTS',
                ],
                ],
                'orderby' => [
                'post_views_count' => 'DESC',
                'title' => 'ASC',
                ],
                ]);





                share|improve this answer

























                  1












                  1








                  1







                  Have you already tried 'meta_query'? See Order by multiple meta key and meta value [closed]. In your case maybe like so:



                  $query = new WP_Query([
                  'post_type' => 'my_post_type',
                  'post_status' => 'publish',
                  'posts_per_page' => -1,
                  'meta_query' => [
                  'relation' => 'OR',
                  'post_views_count' => [
                  'key' => 'post_views_count',
                  'compare' => 'EXISTS',
                  ],
                  ],
                  'orderby' => [
                  'post_views_count' => 'DESC',
                  'title' => 'ASC',
                  ],
                  ]);





                  share|improve this answer













                  Have you already tried 'meta_query'? See Order by multiple meta key and meta value [closed]. In your case maybe like so:



                  $query = new WP_Query([
                  'post_type' => 'my_post_type',
                  'post_status' => 'publish',
                  'posts_per_page' => -1,
                  'meta_query' => [
                  'relation' => 'OR',
                  'post_views_count' => [
                  'key' => 'post_views_count',
                  'compare' => 'EXISTS',
                  ],
                  ],
                  'orderby' => [
                  'post_views_count' => 'DESC',
                  'title' => 'ASC',
                  ],
                  ]);






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 8 hours ago









                  leymannxleymannx

                  73711022




                  73711022



























                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to WordPress Development Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fwordpress.stackexchange.com%2fquestions%2f333787%2fsort-in-wp-query-not-filter-is-it-possible%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      lutIxm6nJ fwBflrS00XXcM KHmpW FcXjSAiPQ9hyo
                      etLh2nhBmKbu rG p zqGajEtr6w5PO ZIoldqEHEFq,OA DzDR7nm 4hj0 3xD y5sRm 7 HU

                      Popular posts from this blog

                      What is the result of assigning to std::vector::begin()? The Next CEO of Stack OverflowWhat are the differences between a pointer variable and a reference variable in C++?What does the explicit keyword mean?Concatenating two std::vectorsHow to find out if an item is present in a std::vector?Why is “using namespace std” considered bad practice?What is the “-->” operator in C++?What is the easiest way to initialize a std::vector with hardcoded elements?What is The Rule of Three?What are the basic rules and idioms for operator overloading?Why are std::begin and std::end “not memory safe”?

                      Creating centerline of river in QGIS? The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Finding centrelines from polygons in QGIS?Splitting line into two lines with GRASS GIS?Centroid of the equator and a pointpostgis: problems creating flow direction polyline; not all needed connections are drawnhow to make decent sense from scattered river depth measurementsQGIS Interpolation on Curved Grid (River DEMs)How to create automatic parking baysShortest path creation between two linesclipping layer using query builder in QGISFinding which side of closest polyline point lies on in QGIS?Create centerline from multi-digitized roadway lines Qgis 2.18Getting bathymetric contours confined only within river banks using QGIS?

                      SQL Server 2016 - excessive memory grant warning on poor performing query The Next CEO of Stack OverflowFix for slow SQL_INLINE_TABLE_VALUED_FUNCTIONLarge memory grant requestsPoor performing Query -Tsql execution plan - estimated number of rows =1 Paste the PlanMSSQL - Query had to wait for memory grantRow estimates always too lowBad performance using “NOT IN”Warning about memory “Excessive Grant” in the query plan - how to find out what is causing it?Optimizing table valued function SQL ServerWhen does SQL Server warn about an Excessive Memory Grant?Warning in Execution Plan