0
以下代码显示最近30天发布的帖子。
我有它的每篇文章都有一个名为expiring
的meta_key,例如meta_value为2011-10-22
。如何编辑功能以显示即将到期的帖子?
就我而言,我想删除post_date
并找出哪些帖子即将过期。例如,今天我们有2011-10-18
,我想显示从今天(18)直到2011-10-21
的所有帖子。这意味着今天过后3天。
明天2011-10-19
它必须显示可能在2011-10-22
到期的帖子。
这是我如何得到meta_key get_post_meta($post->ID, 'expiring', true);
的价值这是我尝试过编辑功能。
<?php
function filter_where($where = '') {
//posts in the last 30 days
$where .= " AND post_date > '" . date('Y-m-d', strtotime('-30 days')) . "'";
return $where;
}
add_filter('posts_where', 'filter_where');
query_posts('post_type=post&posts_per_page=10&order=DESC');
while (have_posts()): the_post(); ?>
<li><?php the_title(); ?></li>
<?php
endwhile;
wp_reset_query();
?>
谢谢你的帮助。
问题是没有'expire_date',而是'get_post_meta($ post-> ID,'expiring',true);'我试过了。 – asotshia
这意味着数据库不会列出过期日期,但仅列出post_date?为了找出到期日是什么,您需要首先将其从数据库中取出,然后询问meta_date? – Dennis
看来你必须得到所有的帖子,然后遍历它们,询问元数据,并检查到期日期是否在现在'日期(Ymd)'和三天'日期(YMd,mktime(0,0, 0,日期(“m”),日期(“d”)+ 3,日期(“Y”)) – Dennis