[英]Wordpress - Order Custom Post Type By Custom Taxonomy
我有以下代码:
$args = array( 'post_status'=>"publish",
'posts_per_page' => 20,
'post_type'=>"equipment",
'orderby'=>"title",
'order'=>"ASC");
$postslist = get_posts( $args );
foreach ($postslist as $post) : setup_postdata($post); ?>
一切都很好,但是我想做的是能够在自定义分类法中按类别指定帖子的顺序。
这可能吗?
一直在尝试使用类别数组,但是没有运气。
为了提供所有信息,我的自定义分类法称为“设备猫”,在这里我有几个类别,例如“视觉”,“舞台”,“照明”,“声音” ...
按照目前的情况,帖子的顺序将按字母升序显示,因此顺序为:
我想做的就是能够对此顺序进行严格控制,因此例如:
非常感谢所有帮助。
基本上,下面的代码设置了过滤器,以添加“ join”子句以在查询中包括条件表,将其限制为类别,然后按类别ID进行排序。 然后使用现有的查询变量(例如页码等)重新查询。
<?php add_filter('posts_join', create_function('$a', 'global $wpdb; return $a . " INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) ";'));
add_filter('posts_where', create_function('$a', 'global $wpdb; return $a . " AND $wpdb->term_taxonomy.taxonomy = \'category\'";'));
add_filter('posts_orderby', create_function('$a','global $wpdb; return "$wpdb->term_taxonomy.term_id DESC";'));
query_posts('');
?>
<?php while ( have_posts() ) : the_post() ?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.