2012-10-15 2 views
3

저는 PHP 지식이 부족하기 때문에 거의 알아 냈습니다. 기본적으로 양식 제출 날짜와 시간이 있으므로 "date_created"항목 개체를 표시하는 사용자 지정 Gravity Forms 병합 태그가 필요합니다. 다음과 같이 표시되어야하지만 잘못되었습니다.사용자 정의 Gravity Forms Merge Tag를 작성하여 항목 날짜와 시간을 표시하려면 어떻게합니까?

<?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; 
} 
?> 

도움이 필요하십니까?

답변

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; 
} 
관련 문제