Dwi*_*ute 5 php wordpress post categories
更新:我尝试使用以下代码:
<?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');
}
?>
Run Code Online (Sandbox Code Playgroud)
有什么理由不起作用吗?它似乎按字母顺序组织帖子很好,但在"事件"中的日期顺序仍然没有运气.
-
在搜索了各种现有问题之后,我无法找到解决我想要做的事情的方法.
目前我网站上的所有帖子都是按字母顺序排列的,除了我添加的一个新类别外,这很好.对于此类别,我想按照我在自定义字段中输入的值来订购所有帖子.该字段称为"event_date" - 因此我希望按日期按日期排序帖子,但不是创建帖子的日期,即用户手动输入此字段的日期.
我设法通过使用以下方式使其工作:
<?php if (is_category($events)) { $posts = query_posts($query_string . '&orderby=$event_date&order=asc'); } ?>
Run Code Online (Sandbox Code Playgroud)
但是,这会覆盖所有其他页面的aphabetical顺序.
我按字母顺序使用:
<?php if (is_category()) { $posts = query_posts( $query_string . '&orderby=title&order=asc' ); } ?>
Run Code Online (Sandbox Code Playgroud)
基本上我想要一个声明,告诉页面以aphabetical顺序排序所有帖子,除非类别是'events',我想按自定义事件日期对它们进行排序.
你可能会说我非常关注前端,而不是后端所以这对我来说很新,所以任何帮助或建议都值得赞赏.
希望我理解你的问题,使用WP_Query
和orderby
在你的 order by 列之间添加一个空格:
$args = array(
'posts_per_page' => 100,
'orderby' => 'title',
'order' => 'ASC',
);
if(is_category($events)){
$args['orderby'] .= " meta_value_num";
$args['meta_key'] = 'event_date';
}
$posts = (array) new WP_Query( $args );
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1379 次 |
最近记录: |