最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

How do I sort posts by custom taxonomy?

programmeradmin4浏览0评论

I am trying to sort posts by custom taxonomy. I have a custom post type which is course-cpt and I have created custom taxonomies within it, I need to sort the courses by course-level (which is the taxonomy term) so that it displays like so:

  • Course Name level 1
  • Course Name level 2
  • Course Name level 3 etc

I currently have the following in my functions.php:

add_action( 'pre_get_posts', 'reorderByCourseLevel' );

function reorderByCourseLevel( $query ) {

if ( $query->is_main_query() && !is_admin() ) {
        if ( $query->is_tax() || $query->is_post_type_archive('subject') ) {
            $taxquery = array(
               'taxonomy' => 'course-level'
            );
            $query->set('tax_query', $taxquery);
            $query->set('orderby', 'title');   
            $query->set('order', 'ASC');
       }       
    }
}

Am I missing anything in my code..?

I am trying to sort posts by custom taxonomy. I have a custom post type which is course-cpt and I have created custom taxonomies within it, I need to sort the courses by course-level (which is the taxonomy term) so that it displays like so:

  • Course Name level 1
  • Course Name level 2
  • Course Name level 3 etc

I currently have the following in my functions.php:

add_action( 'pre_get_posts', 'reorderByCourseLevel' );

function reorderByCourseLevel( $query ) {

if ( $query->is_main_query() && !is_admin() ) {
        if ( $query->is_tax() || $query->is_post_type_archive('subject') ) {
            $taxquery = array(
               'taxonomy' => 'course-level'
            );
            $query->set('tax_query', $taxquery);
            $query->set('orderby', 'title');   
            $query->set('order', 'ASC');
       }       
    }
}

Am I missing anything in my code..?

Share Improve this question asked Jul 17, 2017 at 9:23 Neelam KhanNeelam Khan 3057 silver badges22 bronze badges 2
  • I think are trying to sort taxonomy terms, not posts by taxonomy. It can be confusing but they are very different concepts. I mean, you want to sort taxonomy terms by title, then group posts by taxonomy term (maybe with some specific order for posts within each group). – cybmeta Commented Jul 17, 2017 at 9:29
  • 1 Possible duplicate of Using wp_query is it possible to orderby taxonomy? – Johansson Commented Jul 17, 2017 at 16:53
Add a comment  | 

1 Answer 1

Reset to default -1

If I understand your question correctly, I think I may have your answer in this blog post: https://evowebdev/2017/05/using-a-dropdown-menu-to-filter-a-custom-post-type-with-custom-taxonomy/

This solution specifically uses select form element auto-populated with taxonomy terms to sort CPT posts (ie, rather than presorting posts with pre_get_posts, it lets site visitors sort by the taxonomy term[s] they select). If it's really important to pre-sort, this may not be an answer for you.

I could see it being useful, however, to allow people to select to view all courses of one of the levels.

That said, wouldn't the following presentation occur with alpha order?

  • Course Name level 1
  • Course Name level 2
  • Course Name level 3
发布评论

评论列表(0)

  1. 暂无评论