Wordpress-按到期日对帖子进行排序

Wordpress-按到期日对帖子进行排序,wordpress,Wordpress,我试图在非过期帖子之后显示过期帖子。我该怎么做 我添加了一个自定义字段“过期日期”,在该字段中,我以yyyy/mm/dd格式存储过期日期。问题是,若我按此字段排序结果,则未来的到期日期将排在第一位 因此,我创建了一个重复的cron作业,它比较日期,并为日期已过的帖子创建一个辅助自定义字段“过期日期已过”。我尝试按此字段排序,但WP仅显示具有此字段值的帖子-即没有到期日期的帖子,或将来的到期日期,不显示。因此,我尝试为任何尚未过期的帖子自动添加值“9999999”。问题是,WP不能按自定义字段值然

我试图在非过期帖子之后显示过期帖子。我该怎么做

我添加了一个自定义字段“过期日期”,在该字段中,我以yyyy/mm/dd格式存储过期日期。问题是,若我按此字段排序结果,则未来的到期日期将排在第一位

因此,我创建了一个重复的cron作业,它比较日期,并为日期已过的帖子创建一个辅助自定义字段“过期日期已过”。我尝试按此字段排序,但WP仅显示具有此字段值的帖子-即没有到期日期的帖子,或将来的到期日期,不显示。因此,我尝试为任何尚未过期的帖子自动添加值“9999999”。问题是,WP不能按自定义字段值然后按日期排序-即值为“99999999”的第一篇文章是随机排序的

我还尝试对帖子进行两次查询,一次没有过期帖子,一次有过期帖子,然后合并这两个数组。因此,数据的顺序是正确的,但它搞砸了WP的分页

救命啊,我快没主意了

由于您有一个“过期日期已过”自定义字段,因此可以首先在get_Posts参数中使用该自定义字段创建两组帖子,以区分当前帖子和过期帖子

$meta_键和$meta_值 (字符串)(可选)仅显示包含此键和值的元(自定义)字段的帖子。必须同时定义这两个参数,否则两者都不起作用。 默认值:无

摘录自:


然后你就可以按照你想要的方式对每一组文章进行排序了,但我正在尝试对我的分类页面上的文章进行排序。Wp_get_recent_posts函数通常用于创建自定义循环,而不是修改类别(归档模板)页面中的“循环”

最后我把它和这个分类了。我已将此代码添加到存档模板的顶部:

global $query_string;
query_posts($query_string . "&orderby=meta_value&meta_key=Expiration Date Passed&order=DESC");  
我创建了一个名为“过期日期已过”的“排序”自定义字段。cron作业然后查看帖子是否有过期日期。如果没有,或者日期是在将来,它会将文章的发布日期+20年放在排序列中。如果文章过期,它会将文章的发布日期放在排序列中。因此,结果是我所追求的顺序:

1) 未过期的帖子,按日期顺序排列 2) 已过期的帖子,按日期顺序排列

我想我会发布这个解决方案,以防其他人想知道