2017-03-02 11 views
1

THE AIM
次の関数は、変数を使用してフォーム上に非表示フィールド(hidden_​​email ...)をあらかじめ入力する必要があります。変数を忍者フォームフィールドに渡します。

THE SUSPICION
フィールドに渡す必要がある変数 "$ cust_email"は、ページのロード中にすでに宣言されています。そして、現時点では電子メールアドレスが含まれています。

現在の結果
問題は、このコードを実行すると、変数がすでに空であるように見えることです。フォームのフィールドには何も渡されていません。更新または塗りつぶしやWordPressのポストメタ値からデフォルト値を持つ任意の忍者のフォームフィールドを事前移入する方法

function create_page() { 

    $cust_email = $json->emailAddress; 


function ninja_forms_handler() { 
    add_action ('ninja_forms_pre_process', 'add_customers_email'); 
} 
add_action('init', 'ninja_forms_handler'); 

function add_customers_email() { 
    global $ninja_forms_processing; 

    $form_id = $ninja_forms_processing->get_form_ID(); 
    if($form_id == 3){  
     $ninja_forms_processing->update_field_settings(‘hidden_email_1488454108179’, $cust_email); 
    }  
    } 
} 
+0

コードを良くするための@Mattさん;) – Tom

答えて

1

add_filter('ninja_forms_render_default_value', 'wm_the_value' , 10 , 3); 
function wm_the_value($default_value, $field_type, $field_settings) { 
    if('textbox' == $field_type && in_array('ref' , $field_settings)){ 
    $default_value = get_post_meta(get_the_ID(),'_listing_mls', true); 
    } 

    return $default_value; 
} 

参照は忍者のフォームのフィールド名です。

_listing_mlsは、postメタフィールド用のWPデータベースのmeta_key名です。

関連する問題