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

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







                      Popular posts from this blog

                      Oświęcim Innehåll Historia | Källor | Externa länkar | Navigeringsmeny50°2′18″N 19°13′17″Ö / 50.03833°N 19.22139°Ö / 50.03833; 19.2213950°2′18″N 19°13′17″Ö / 50.03833°N 19.22139°Ö / 50.03833; 19.221393089658Nordisk familjebok, AuschwitzInsidan tro och existensJewish Community i OświęcimAuschwitz Jewish Center: MuseumAuschwitz Jewish Center

                      Valle di Casies Indice Geografia fisica | Origini del nome | Storia | Società | Amministrazione | Sport | Note | Bibliografia | Voci correlate | Altri progetti | Collegamenti esterni | Menu di navigazione46°46′N 12°11′E / 46.766667°N 12.183333°E46.766667; 12.183333 (Valle di Casies)46°46′N 12°11′E / 46.766667°N 12.183333°E46.766667; 12.183333 (Valle di Casies)Sito istituzionaleAstat Censimento della popolazione 2011 - Determinazione della consistenza dei tre gruppi linguistici della Provincia Autonoma di Bolzano-Alto Adige - giugno 2012Numeri e fattiValle di CasiesDato IstatTabella dei gradi/giorno dei Comuni italiani raggruppati per Regione e Provincia26 agosto 1993, n. 412Heraldry of the World: GsiesStatistiche I.StatValCasies.comWikimedia CommonsWikimedia CommonsValle di CasiesSito ufficialeValle di CasiesMM14870458910042978-6

                      Typsetting diagram chases (with TikZ?) Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)How to define the default vertical distance between nodes?Draw edge on arcNumerical conditional within tikz keys?TikZ: Drawing an arc from an intersection to an intersectionDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingLine up nested tikz enviroments or how to get rid of themHow to place nodes in an absolute coordinate system in tikzCommutative diagram with curve connecting between nodesTikz with standalone: pinning tikz coordinates to page cmDrawing a Decision Diagram with Tikz and layout manager