因此,我一直像疯子一样尝试通过其中一个 meta_values 组织我的活动(即帖子),但绝对没有成功:
这是代码(尝试通过 meta_key“种类”来组织部落事件,其值为 A、B 或 C)
<?php
global $post;
$current_date = date('j M Y');
$end_date = $current_date;
$get_posts = tribe_get_events(array(
'start_date'=>$end_date,
'end_date'=>$end_date,
'posts_per_page'=>3,
'order'=>'ASC',
'meta_key'=>'kind',
'orderby'=>'meta_value', // Each post either has A, B, or C, set as it's meta value, yet it displays the post by date (which is normal), but ignores the meta_values
));
foreach($get_posts as $post) {setup_postdata($post);
?>
<li>
<p class="date">
<a href="<?php the_permalink(); ?>"><span class="month"> <?php echo tribe_get_start_date($post->ID, false, 'M'); ?></span></a>
<a href="<?php the_permalink(); ?>"><span class="day"> <?php echo date('d'); ?></span></a>
</p>
<p class="info">
<a href="<?php the_permalink(); ?>"><?php the_title(); ?><i class="icon-chevron-right"></i></a> <?php the_field('kind'); ?> <br><?php echo substr(get_the_excerpt(), 0, 50); ?>...</p>
<div class="clear"></div>
</li>
<?php } //endforeach ?>
<?php wp_reset_query(); ?>
</ul>
<div class="clear"></div>
即使我尝试运行正常查询并进行排序,它仍然无法正常工作(只是以防万一tribe_get_events 覆盖了 orderby 过滤器。
$loop = new WP_Query(array('post_type' => 'tribe_events', 'orderby'=> 'meta_value', 'meta_key'=>'kind'));
但这仍然让我一无所获。
基本上我有三种帖子,我希望今天的帖子出现,但我希望它们按类型排序。其中类型 A 将首先显示,B 第二,C 第三。因为这是这些事件的优先级。所以结果应该显示,AAB,但在图像中你可以看到它只是显示 ABA(按帖子发布时间排序)
http://cl.ly/image/0W2b2I270d3v
花了两天时间没有结果。我一直在这个网站和谷歌/询问其他开发人员没有可靠的建议:(