WQ查询发布元日期比较

时间:2013-07-24 作者:David

我需要对当前存储日期时间的某个post meta执行查询31/07/2012 我需要检查此帖子元是否大于当前日期,如果为true,请在查询中返回它。

我无法使用提供的方法通过WP\\U查询实现这一点。

有人能解释一下吗?

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

你有点问题。唯一可以正确排序的日历格式是YYYY/MM/DD, 分离器是可选的。你有DD/MM/YYYY. 无论是谁决定以这种格式存储,都是一个错误的决定。

您最好的选择是更正该设计决策,并将这些日期转换为YYYY-MM-DD 或Unix时间戳。您还可以使用MySQL的日期格式YYYY-MM-DD HH:MM:SS 但你没有小时分和秒。这应该相当简单。您可以查询数据库,使用PHP更改格式,并将新日期保存回数据库。如果这样做,您可以使用普通的WordPress工具,例如WP_Query, 检索信息。当然,您还必须首先修改产生问题的任何代码。

否则,您必须执行以下操作:

SELECT CONCAT(
  RIGHT(columnname,4),
  SUBSTR(columnname,4,2),
  LEFT(columnname,2)
) AS date
FROM `tablename`
WHERE id = 1
ORDER BY date
你呢will not 能够使用WordPress核心工具进行查询。WP_Query-- MySQL 真的——可以按字母(ish)或数字排序,但不能按“日历数字”排序。要根据日历日期进行排序,必须将日期转换为数字排序格式或MySQL内置日期函数可以处理的格式。我还应该注意到,该查询不太可能非常有效。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post