Sort in WP_Query(), not filter? Is it possible? The 2019 Stack Overflow Developer Survey...

Realistic Alternatives to Dust: What Else Could Feed a Plankton Bloom?

What is the best strategy for white in this position?

Evaluating number of iteration with a certain map with While

How to reverse every other sublist of a list?

Confusion about non-derivable continuous functions

What is a mixture ratio of propellant?

Landlord wants to switch my lease to a "Land contract" to "get back at the city"

Any good smartcontract for "business calendar" oracles?

Should I use my personal or workplace e-mail when registering to external websites for work purpose?

What is the motivation for a law requiring 2 parties to consent for recording a conversation

If the Wish spell is used to duplicate the effect of Simulacrum, are existing duplicates destroyed?

How to manage monthly salary

Monty Hall variation

Where does the "burst of radiance" from Holy Weapon originate?

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

Is flight data recorder erased after every flight?

Dual Citizen. Exited the US on Italian passport recently

How long do I have to send payment?

What could be the right powersource for 15 seconds lifespan disposable giant chainsaw?

How to create dashed lines/arrows in Illustrator

Is bread bad for ducks?

What is the use of option -o in the useradd command?

Why don't Unix/Linux systems traverse through directories until they find the required version of a linked library?

In microwave frequencies, do you use a circulator when you need a (near) perfect diode?



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



The 2019 Stack Overflow Developer Survey Results Are In
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
    yesterday











  • 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
    yesterday


















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
    yesterday











  • 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
    yesterday














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 yesterday









LubWnLubWn

154




154








  • 1





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

    – mrben522
    yesterday











  • 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
    yesterday














  • 1





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

    – mrben522
    yesterday











  • 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
    yesterday








1




1





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

– mrben522
yesterday





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

– mrben522
yesterday













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
yesterday





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
yesterday










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 yesterday









          Sally CJSally CJ

          5,3562616




          5,3562616

























              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 yesterday









                  leymannxleymannx

                  78611022




                  78611022






























                      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

                      Hudson River Historic District Contents Geography History The district today Aesthetics Cultural...

                      The number designs the writing. Feandra Aversely Definition: The act of ingrafting a sprig or shoot of one...

                      Ayherre Geografie Demografie Externe links Navigatiemenu43° 23′ NB, 1° 15′ WL43° 23′ NB, 1°...