条件自定义域查询

时间:2011-08-18 作者:mer at hotgluemedia

我在一个工作板类型的网站上工作,客户希望出售特色帖子。他们希望特色帖子在一段预定的时间后不再出现在“特色”部分,而是继续出现在网站的其余部分。

我解决这个问题的方法是为“特色”类别中的帖子指定一个自定义字段,说明它的特色天数,比如说15天。因此,查询的逻辑应该是这样的:如果帖子属于“特色”类别,并且自定义字段“featuredexpiredays”自发布以来不到天,那么就获取帖子。

我有一个脚本来计算自发布以来的天数,但我完全没有弄清楚如何将所有这些合并到一个查询中。

你对如何做到这一点有什么建议吗?或者,有没有其他建议可以让我的网站以这种方式运行?非常感谢!

2 个回复
SO网友:Steven

我发现了这个:http://codex.wordpress.org/Displaying_Posts_Using_a_Custom_Select_Query
我已修改日期以检索过去15天。这是未经测试的,但应该有效。

$expireDays = \'15\';

$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 = \'post\'
    AND $wpdb->posts.post_date >= ( CURDATE() - INTERVAL $expireDays DAY )
    ORDER BY $wpdb->posts.post_date DESC
 ";

$pageposts = $wpdb->get_results($querystr, OBJECT);

SO网友:Milo

设置过期日期可能比设置期限更容易,然后可以对过期日期大于今天的帖子进行元查询:

$args = array(
            \'posts_per_page\' => -1,
            \'meta_key\' => \'expiration_date\',
            \'meta_value\' => date(\'Y-m-d\'),
            \'meta_compare\' => \'>=\',
            \'orderby\' => \'meta_value\',
            \'order\' => \'ASC\'            
);
$posts = new WP_Query($args);

结束

相关推荐

Jquery in IE, fully messed up

我正在使用nivo slider 在我的一个网站上,滑块在Firefox中看起来很完美,但在IE 7、8中,它的高度增加到1006px,滑块可以工作,但高度增加了很多,我已经停用了所有插件,它的视图仍然相同,但在我的localhost中它也可以在IE中工作,但我无法区分其中的实际问题,这里是网站http://www.marqueehireauckland.net.nz/有人能帮我吗?我的nivo滑块代码是<script type=\"text/javascript\" src=\"<?php