更新:我已经尝试使用以下代码:
基本上我想要一个语句告诉页面按字母顺序排序所有帖子,除非类别是“事件”,在这种情况下,我希望按自定义事件日期对它们进行排序。
正如您可能已经注意到的那样,我非常关注前端,而不是后端,因此很多东西对我来说都是比较新的,所以任何帮助或建议都将不胜感激。
<?php if (is_category(events)) {
$posts = query_posts($query_string . '&orderby=event_date&order=desc');
} else {
$posts = query_posts($query_string . '&orderby=title&order=asc');
}
?>
有没有任何理由导致这不起作用?在按字母顺序组织帖子方面似乎可以正常工作,但在“事件”内部的日期顺序上仍然没有运气。
--
在搜索各种现有问题后,我无法找到解决我所尝试做的事情的解决方案。
当前,我站点上的所有帖子都按字母顺序排序,这很好,除了我添加的一个新类别。对于此类别,我想按我输入到自定义字段中的值来对所有帖子进行排序。该字段称为“event_date”,因此,我要按日期对帖子进行排序,但不是创建帖子的日期,而是用户手动输入到该字段中的日期。
我设法通过使用以下内容使其正常工作:
<?php if (is_category($events)) { $posts = query_posts($query_string . '&orderby=$event_date&order=asc'); } ?>
然而,这将覆盖所有其他页面的字母顺序。
按字母顺序排序时,我使用以下内容:
<?php if (is_category()) { $posts = query_posts( $query_string . '&orderby=title&order=asc' ); } ?>
基本上我想要一个语句告诉页面按字母顺序排序所有帖子,除非类别是“事件”,在这种情况下,我希望按自定义事件日期对它们进行排序。
正如您可能已经注意到的那样,我非常关注前端,而不是后端,因此很多东西对我来说都是比较新的,所以任何帮助或建议都将不胜感激。
$posts
是一个对象,通过$posts->item
访问,但我在上面的代码中将其强制转换为数组(array) new ...
。 - Mike Mackintosh