次のコードは過去30日間の投稿を示しています。
すべての投稿はexpiring
という名前のmeta_keyと、たとえば2011-10-22
というmeta_valueを持っています。次の日に期限切れになる投稿を表示する機能を編集するにはどうすればよいですか?
私の場合、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
これで、すべての投稿を取得し、ループしてメタデータを確認し、有効期限が 'date(Ymd)'から3日間の日付(YMd、mktime(0、0、 0、日付( "m")、日付( "d")+ 3、日付( "Y")) – Dennis