サポート » 使い方全般 » 指定の期間を過ぎたら表示する

  • 解決済 nishihara

    (@nishihara)


    カスタムフィールド(終了年・終了月・終了日)に入っているイベントの期間を過ぎたら
    指定のテキストを表示したいのですが上手く行かず
    行き詰ってしまいどなた様かご教授下さい。

    if ( date(Ymd) >= “20121128” ) {
    echo “イベントは終了しました”;
    }
    カスタムフィールドは、Custom Field Templateを使用しています。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • nishiharaさん、こんばんは。

    date(Ymd)

    ではなく

    date(‘Ymd’)

    では?後はWordPressのdate_i18n()関数を使用したほうがいい気もします。

    PHPの日付の比較についてはあまり詳しくないんですが、strtotimeで変換して比較したほうが無難かも知れません。

    トピック投稿者 nishihara

    (@nishihara)

    こんばんは!
    早速回答頂き誠に有難う御座います。

    説明が上手く出来なくて申し訳御座いません。
    下記ので表示されるのですが
    if ( date(Ymd) >= “20121128” ) {
    echo “イベントは終了しました”;
    }

    20121128と書いてある部分にカスタムフィールド(終了年・終了月・終了日)の値を
    入ればいいのですがそこから先が出来ません・・あと少しなのですが・・
    宜しくお願い致します。

    下記ので表示されるのですが

    それは本当ですか?

    Ymdの部分は“Ymd”‘Ymd’ダブルコーテーションかシングルコーテーションで囲っていないとNotice警告が出ると思いますが?(DEBUGモード時)
    表示されていてもそれは構文的に間違っているので誤りです。

    PHP Manualを参考にして下さい。Ymdなどの書式設定は文字列で指定します。
    PHP: date – Manual

    カスタムフィールドの出力は以下のようになるかと思います。
    必要に応じて変更して下さい。

    <?php if ( have_posts() ) : ?>
    
    	<?php while ( have_posts() )  :  the_post(); ?>
    		 <?php echo esc_html( get_post_meta( get_the_ID(), 'カスタムフィールドのキー', true ) ); ?>
    	<?php endwhile; ?>
    
    <?php endif; ?>

    また、Codexも参考にしてみて下さい。
    関数リファレンス/get post meta – WordPress Codex 日本語版

    トピック投稿者 nishihara

    (@nishihara)

    ご回答いただき誠に有難う御座いました。
    お陰様で参考にしながらなんとか出来上がりました!

    解決されて良かったです。

    解決済みにして下さいますようお願いします。

    カスタムフィールドの使い方 – WordPress Codex 日本語版

    トピック投稿者 nishihara

    (@nishihara)

    ご指導頂き大変助かりました!

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「指定の期間を過ぎたら表示する」には新たに返信することはできません。