【问题标题】:Compare Post Meta Wordpress to Date比较 Post Meta Wordpress 到日期
【发布时间】:2017-11-20 09:53:05
【问题描述】:

我有一个 meta_key 作为 listing_expiry_date 及其存储日期(例如 2017-11-30 12:25:57)。我相信它的存储日期为字符串,因为数据库中的 meta_value 字段是长文本

现在。我想为一天内到期的帖子获取帖子数组。我开发的代码如下。

$today = date('Y-m-d H:i:s')+1;

$args = array('posts_per_page' => $show, 

        'post_type' => $type, 'orderby' => $orderby, 'order' => $order, 'paged'  => $paged,

        'meta_query' => array (

                array (

                    'key' => 'listing_expiry_date',                                                             

                    'orderby' => 'meta_value',                       

                    'compare' => '<=',

                    'value' => $today,

                    'type'=> 'date'         
                )

              ) 

         );

此代码有时有效,有时我会收到有效期为 3 天、5 天和 7 天的帖子。我真的不知道出了什么问题。

另外,如果有人能提供帮助并向我展示如何显示仅剩一小时的帖子,我将不胜感激。

谢谢大家。

【问题讨论】:

  • 如果它是长文本,你为什么要把它作为日期比较?
  • 那怎么比较呢??有什么解决办法吗?

标签: php wordpress


【解决方案1】:

试试下面的代码:

$one_day_expiry = date('Y-m-d H:i:s', strtotime($date .' +1 day'));
$one_hour_expiry = date('Y-m-d H:i:s', strtotime($date .' +1 hour'));

$args = array(
                'posts_per_page' => $show, 
                'post_type' => $type, 
                'orderby' => $orderby, 
                'order' => $order, 
                'paged'  => $paged,
                'meta_query' => array (
                                        'relation' => 'AND',
                                        array (
                                                'key' => 'listing_expiry_date',                       
                                                'compare' => '<=',
                                                'value' => $one_day_expiry,
                                                'type'=> 'date'         
                                            )

                                    ) 

             );

您所犯的错误是生成第二天的日期。为了让帖子在接下来的一小时内过期,请尝试在元查询中将 $one_day_expiry 变量替换为 $one_hour_expiry 变量。

希望这会对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    • 2018-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多