3

私はほとんどそれを理解しましたが、PHPの知識が不足しているため行き詰まりました。基本的に、「date_created」エントリ オブジェクトにはフォーム送信の日時があるため、カスタム Gravity Forms マージ タグが必要です。次のように見えるはずですが、これは間違っています。

<?php
add_filter('gform_custom_merge_tags', 'custom_merge_tags', 10, 4);
function custom_merge_tags($merge_tags, $form_id, $fields, $element_id) {

    if($entry["date_created"]($form_id))
        $merge_tags[] = array('label' => 'Date Created', 'tag' => '{date_created}');

    return $merge_tags;
}
?>

何か助けはありますか?

4

1 に答える 1

2

これは2段階のプロセスです。最初にマージタグを作成し、次にある時点で、マージタグを正しいデータに置き換える必要があります。if($entry["date_created"]コードのこの部分に行が必要になる理由がわかりません。

次に、マージコードを置き換える別の関数を作成する必要があります。

add_filter('gform_replace_merge_tags', 'replace_gf_date', 10, 7);
function replace_gf_date($text, $form, $entry, $url_encode, $esc_html, $nl2br, $format) {

$custom_merge_tag = '{date_created}';

if(strpos($text, $custom_merge_tag) === false)
    return $text;

$gf_date_created = ($entry[date_created"]($formID)) 
    //Not sure of exact syntax above.
$text = str_replace($custom_merge_tag, $gf_date_created, $text);

return $text;
}
于 2012-10-25T20:12:18.240 に答える