サポート » プラグイン » MW WP Form 日時のカスタムフィールドの値をUNIXタイムスタンプから変換

  • 解決済 kleza

    (@kleza)


    いつも本フォーラムでは大変お世話になっております。

    MW WP Formを使い、投稿記事が持つカスタムフィールドの値をメールフォームの項目に引き渡したいのですが(投稿タイトルは出来ました)、日時のカスタムフィールドの値は「1423389600」のようなUNIXタイムスタンプ形式での引き渡し結果になります。

    [mwform_text name=”開催日” value=”{wpcf-seminar-start}”]

    1423389600

    これを指定したフォーマット(例:2015年2月8日10時)に変換して引き渡すことは可能でしょうか?

    投稿においては使用しているカスタムフィールドのプラグイン(Types)の記述で実現しているのですが、このように任意の形式に変換できないかと。
    <?php echo(types_render_field(“seminar-start”, array(“format” => “Y年m月d日(D)”))); ?>

    MW WP Form以外のプラグイン(Types)についても含まれていて大変恐縮ですが、なにか解決できる方法がありましたらアドバイスいただけると大変助かります。

    恐れいりますが何卒宜しくお願い申し上げます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • mwform_value_mw-wp-form-xxx フィルターフックを使うとできるかと思います。フック経由で初期値を設定する場合は、value="{wpcf-seminar-start}" は不要です。
    http://plugins.2inc.org/mw-wp-form/filter-hook/mwform_value/

    /**
     * my_mwform_value
     * @param string  $value valueの初期値
     * @param string  $name name属性値
     */
    function my_mwform_value( $value, $name ) {
        if ( !empty( $_GET['post_id'] ) && $name === '開催日' ) {
            $seminar_start = get_post_meta( $_GET['post_id'], 'wpcf-seminar-start', true );
            if ( $seminar_start ) {
                return date( 'Y年m月d日h時', $seminar_start );
            }
        }
        return $value;
    }
    add_filter( 'mwform_value_mw-wp-form-xxx', 'my_mwform_value', 10, 2 );
    トピック投稿者 kleza

    (@kleza)

    Kitajima様

    出来ました!ありがとうございます!!!

    日曜なのに(あまりそういうの関係ない職種かと思いますが)こんなに早くレスがいただけるとは思わず感激です。本当にありがとうございます。

    示していただいたコードを使用テーマのfunctions.phpに追加し(フォームIDを指定した上で)フォーム上の記述を以下のようにして(valueの指定部分はなしで)望む結果を得ることが出来ました。

    <dl>
    <dt><i class=”fa fa-circle-o”></i>開催日時</dt>
    <dd>[mwform_text name=”開催日”]</dd>
    </dl>

    まだ本プラグインに触れて数日ですが、今までのどのメールフォームのプラグインよりも桁違いに便利で使い勝手の良さを痛感しています。(それはKitajima様のサポート、マニュアルの充実度含め)

    プラグインのますますの充実を願いつつ、さっそく「寄付」先のAmazonの「ほしいものリスト」内から選んで寄付、させていただきます。

    本当にありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「MW WP Form 日時のカスタムフィールドの値をUNIXタイムスタンプから変換」には新たに返信することはできません。