2011/10/22

WordPressのループで今日の日付以降的な処理

お知らせとかは最新10件とか表示すれば良いですが、イベント情報は、直近の10件とか表示したくなりますよね。ただこれデフォルトではできないと思うので、ちょっと工夫が必要です。下記では2011.10.22-25みたいな形式でイベントの日付をカスタムフィールドで管理している場合の例です。

$parm = array(
‘cat’=>$catid,
‘showposts’=>1000,
‘orderby’=>meta_value,
‘meta_key’=>event_date,
‘order’=>ASC
);
$my_query = new WP_Query($parm);
if($my_query->have_posts()) :
$cnt = 0;
while ($my_query->have_posts() && ($cnt < 10)) : $my_query->the_post();
$event_date = get_post_meta($post->ID,’event_date’,TRUE);
$date = substr($event_date,0,10);
$today = date(‘Y.m.d’);
if($today <= $date): 記事表示処理 $cnt++; endif; endwhile; [/php] 本当はWP_Queryのところで、条件指定できなきゃいかんのでしょうが、イベントの日付にカスタムフィールドを使っているので、なかなか上手い具合に解決法が見つからず、とりあえず、100件取得して、そこから、今日以降の10件で取り出すやり方してます。 なんかもっと上手い方法がある気もするんですけどね。。。

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円
WordPressデザインレシピ集
狩野 祐東
技術評論社
売り上げランキング: 197,569
WordPress 高速化&スマート運用必携ガイド
こもりまさあき 岡本渉
エムディエヌコーポレーション
売り上げランキング: 435,263

加藤 康祐 / 企画・設計

1980年1月12日生まれ。フリーランス歴15年。プランナー、デザイナー。加藤康祐企画設計代表。学生時代にデザイン会社でWebデザインを経験。2005年よりフリーランスとしてキャリアスタート。これまでに個人から上場企業まで、100以上のクライアントとのプロジェクトを経験。主な仕事としてベンチャー企業でのサービスのUXデザイン、独法との防災メディアの編集・運営、社会的養護の子どもたちの自立を支援するNPOのサポート等。趣味はラグビーと料理。Keep the head up, Bind tight & Stay low.

加藤康祐企画設計

是非、フォローしてください!
Twitter / Instagram