自定义选择查询-选择年份?

时间:2011-12-09 作者:Dan Lee

我有一个查询,我正在获取2010年所有类型的“新闻”帖子,但它没有选择当年的帖子。我做错了什么?

$querystr = "
    SELECT $wpdb->posts.*
    FROM $wpdb->posts, $wpdb->postmeta
    WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id
    AND $wpdb->posts.post_status = \'publish\'
    AND $wpdb->posts.post_type = \'news\'
    AND year($wpdb->posts.post_date) = 2010,
    ORDER BY $wpdb->posts.post_date DESC
 ";
把这句话拿出来确实能收到新闻帖子,但我真的希望它们来自某一年。

AND year($wpdb->posts.post_date) = 2010,

3 个回复
SO网友:Tom J Nowell

不要使用直接SQL查询,这没有意义,而且是一种不好的做法。

改用WP\\U查询:

$year = date(\'Y\');
$query = new WP_Query(
    array(
        \'year\' => $year,
        \'post_type\' => \'news\'
    )
);

SO网友:WouterB

试试这个:

AND year($wpdb->posts.post_date)=\'2010\',
而不是:

AND year($wpdb->posts.post_date) = 2010,

SO网友:2hamed

Try this instead:

AND $wpdb->posts.post_date BETWEEN \'2010-01-01 00:00:00\' AND \'2011-01-01 00:00:00\'
结束

相关推荐

如何修复我的旧主题以便正确加载jQuery

我有一个旧主题是“手动”加载jQuery,这与所有尝试使用jQuery的插件冲突。主题标题中包含以下行:<script type=\"text/javascript\" src=\"<?php bloginfo(\'template_url\'); ?>/js/jquery-1.3.2.min.js\"></script> <script type=\"text/javascript\" src=\"<?php bloginfo(\'template