2014-10-09 3 views
0

이 작업 유형은 저에게 새로운 것이므로 쉽게 대답 할 수 있으면 조금만 참아주십시오.WP 필터를 통해 중력 양식에 외부 변수를 제출하는 방법

내 사이트에서 Wordpress 및 Gravity Forms를 사용하고 있으며 개체의 데이터로 양식을 미리 채울 예정입니다. 개체는 API에서 제공되므로 wordpress current_user 개체를 사용할 수 없습니다.

어떻게 Wordpress 필터 내부에서 외부 변수를 사용할 수 있습니까? 예

: 중력 문서 함수에 포인트 "하는 DoThis"

add_filter('gform_field_value_firstname', "dothis"); 

(http://www.gravityhelp.com/documentation/page/Gform_field_value_$parameter_name)

양식에서

$fname = $object->first_name; 
add_filter('gform_field_value_firstname', *Populate the field with $fname*); 

아래는 함수의 일반적인 사용된다.

아래는 또한 (: http://www.doitwithwp.com/pre-populate-fields-using-gravity-forms/이 우수한 글 기준) : 작동

add_filter('gform_field_value_firstname', create_function("", 'return "John";')); 

그러나, 나는 그것은 또한 외부 변수를 받아들이는 얻는 방법을 알아낼 수 없습니다. 예를 들어, 다음과 같이하고 싶습니다 :

그러나 php는 fname이 정의되지 않은 변수라는 것을 알려줍니다.

이 스레드를 검토 한 결과 PHP: How to make variable visible in create_function()?이지만 클로저 솔루션을 사용할 수 없습니다. PHP 버전 5.2.17이 있습니다.

올바르게 수행하는 방법에 대한 예를 게시 하시겠습니까?

답변

1

세계화 변수 $fname을 글로벌 변수로 사용하고 create_function에서 글로벌 변수로 참조 할 수 있습니다.

global $object; 
add_filter('gform_field_value_firstname', create_function('', 'global $object; return 
$object->first_name;')); 
add_filter('gform_field_value_lastname', create_function('', 'global $object; return $object->last_name;')); 

를 등등 ...

+1

감사합니다 :

global $fname = $object->first_name; add_filter('gform_field_value_firstname', create_function('', 'global $fname; return $fname;')); 

당신이 반환하는 여러 값을 가질 그러나 경우, 전역 객체 $ 수 있도록하는 것이 좋습니다! 그게 잘됐다! – dwlorimer

관련 문제