从开始日期已过的事件的查询中删除帖子

时间:2012-03-07 作者:Chuck

下面的查询按预期工作,显示按meta\\u值排序的cpt事件,我还没有弄清楚如何删除过去事件或已开始事件的帖子。事件的开始日期当前存储为“yy m d”,并使用jQuery datepicker选择日期。

<?php
global $post;
$args = array(
        \'post_type\' => \'events\',
        \'numberposts\' => 5,
        \'meta_key\' => \'sp_startDate\',
        \'orderby\' => \'meta_value\',
        \'order\' => \'ASC\'
    );
$supplierTrainingEvents = get_posts( $args );
foreach( $supplierTrainingEvents as $post ) :   setup_postdata($post);
?>
我试过这个和其他变体,但都没有成功。

$args = array(
\'post_type\' => \'events\',
\'numberposts\' => 5,
\'meta_key\' => \'sp_startDate\',
\'meta_value\' => date("MM d yy"),
\'meta_compare\' => \'>\',
\'orderby\' => \'meta_value\',
\'order\' => \'ASC\'
 );
感谢您的关注。

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

日期格式不正确。我不确定您是如何存储日期的,但您在查询中使用的格式,date("MM d yy") 输出“2012年3月7日”。

输入是否由jQuery datepicker完成并不重要:输入应采用预先指定的格式,因此可以将输入解释为日期(或者更好DateTime) 对象,然后将该日期格式化为以下格式:2012-03-07,在php“格式”中为\'Y-m-d\'.

或者,如果您不介意,也可以将其存储为时间戳2038.

最后,请厌倦使用php日期函数。WordPress将“内部”时区设置为UTC-最好使用WordPress functions 这将说明博客的时区。

结束

相关推荐

WP_ENQUEUE_SCRIPT jQuery和jQuery UI不工作

我使用以下脚本调用Jquery和Jquery UI以及自定义脚本。js。目前,它可以看到检查器中的资源,并输出标记。然而,我在页面上使用的代码是这样的。日期选择器就是不起作用。然而,如果我使用黑客脚本标记并包含我自己的jquery文件,那么我的代码就会正常工作。日期选择器工作。您可以在以下位置查看该网站:http://fiftyfity.com/place-an-order/ 这是运行wp\\u enqueue\\u脚本的版本。我被困了,我想使用排队,但它破坏了我的网站。wp_enqueue_script