希望有人能帮忙。我有一个名为“晚餐日期”的自定义帖子类型,它有一个名为“显示日期”的自定义字段,显示晚餐日期事件的日期。
自定义贴子类型有一个称为“Show Name”的自定义分类法,该分类法按Show Name输出各种Show,例如:“Fawlty Towers”等。
当我在导航菜单上单击一个特定的节目名称时,它会显示一个称为“Fawlty Towers”的所有即将到来的事件的网格,并显示它们。
我现在想做的是在展会日期前订购这些活动。因此,按元值num ASC排序。
如何在分类页面上执行此操作?目前正在使用标准。。
而have posts循环。
当我尝试执行自定义查询时,分类法模板页面上的输出是以正确的顺序显示所有显示事件。然而,我只想展示Fawlty Towers,而不是所有可能的节目。
希望这是有意义的。
我猜你必须按照当前的分类术语进行排序,但我不确定如何以这种方式获取信息并正确排序。
我会把代码放在下面,希望有人能帮助。。。
谢谢Dan
<ul class="events-listing-index">
<?php: while (have_posts()) : the_post(); ?>
<li>
//This is where the info about the show is, thumbnail, link to book tickets, more info about the show, the show date, venue and location.
</li>
<?php endwhile; ?>
</ul>
这是我在整个站点的其他页面上运行的代码,以便按自定义字段排序帖子。
$args = array(
\'post_type\' => \'cdc-dinner-dates\',
\'posts_per_page\' => -1,
\'meta_key\' => \'wpcf-rtd-show-date\',
\'orderby\' => \'meta_value_num\',
\'order\' => \'ASC\'
);
$query = new WP_Query( $args );
?>
这是我想对帖子进行排序的方式,但是是基于分类法。php页面。
最合适的回答,由SO网友:Daniel Winnard 整理而成
好的,所以在发布问题后,会出现一个查看另一个类似问题的选项。因此,如果有人试图做同样的事情,下面是答案。
//Using Wordpress Pre-Get filter to order the custom taxonomy by custom field
function customize_customtaxonomy_archive_display ( $query ) {
if (($query->is_main_query()) && (is_tax(\'custom-taxonomy\')))
$query->set( \'post_type\', \'your-post-type\' );
$query->set( \'posts_per_page\', \'-1\' );
$query->set( \'meta_key\', \'your-custom-field\' );
$query->set( \'orderby\', \'meta_value_num\' );
$query->set( \'order\', \'ASC\' );
}
add_action( \'pre_get_posts\', \'customize_customtaxonomy_archive_display\' );
将此添加到您的函数中。php文件,或为其创建插件。用您的详细信息替换“自定义分类法”、“您的帖子类型”和“您的自定义字段”,您应该会得到您想要的结果。
丹