在两个特定日期之间显示帖子

时间:2011-11-16 作者:Morteza

我有以下代码用于在两个特定日期之间显示帖子:

$s = \'2011-10-23\';
$e = \'2011-11-17\';

function filter_where($where = \'\') {
        $where .= \' AND post_date >= $s AND post_date <= $e\';
    return $where;
  }
add_filter(\'posts_where\', \'filter_where\');
query_posts($query_string);
但在改变这一点之前,这是行不通的:

function filter_where($where = \'\') {
        $where .= \' AND post_date >= \'2011-10-23\' AND post_date <= \'2011-11-17\'\';
    return $where;
  }
add_filter(\'posts_where\', \'filter_where\');
query_posts($query_string);
第一个代码有什么问题?

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

我认为这是因为SQL语句需要引号内的日期。尝试

$where .= " AND post_date >= \'$s\' AND post_date <= \'$e\'";
这应该行得通,否则,试试看

$where .= " AND post_date >= \'".$s."\' AND post_date <= \'".$e."\'";

SO网友:Francesco

我解决了这个问题:https://stackoverflow.com/a/7334678

$GLOBALS[\'start_date\'] = date(\'Y-m-d\', ($startdate);
$GLOBALS[\'end_date\'] = date(\'Y-m-d\', ($enddate);

function post_between_date($where = \'\') {
    $where .= " AND post_date >= \'" . date(\'Y-m-d\', strtotime($GLOBALS[\'start_date\'])) . "\' AND post_date <= \'" . date(\'Y-m-d\', strtotime($GLOBALS[\'end_date\'])) . "\'";
    return $where;
  }

结束

相关推荐

Wp_deregister_script()不起作用后注册新的jQuery

我的职能如下。php,它似乎没有加载jQuery。如果我删除wp\\u deregister\\u script()行,它似乎加载了wordpress包含的jQuery,而不是我手动注册的jQuery(我可以看出)。有人知道为什么会这样吗?function register_scripts() { wp_deregister_script(\'jquery\'); wp_register_script(\'jquery\', \'http