2014-12-04 57 views
0

看了看周圍,找不到任何與此有關的東西。嘗試在WordPress網站上運行多個短代碼過濾器實例,以預先填充網頁表單中的某些表單值。WordPress多個做簡碼過濾器

我們仍然在通過這種方式工作,並獲得一些錯誤。我們如何組合它們並避免重複的功能錯誤和其他相關問題?

單做簡碼過濾器的當前工作例如,僅此作品:

add_filter('gform_field_value_Leadsource', 'my_custom_population_function'); 
function my_custom_population_function($value){ 
return do_shortcode('[Leadsource]'); 
} 

會如何,我們下面就簡碼過濾器組合成一個代碼單個位?複製和粘貼示例會非常有用。

add_filter('gform_field_value_Leadsource', 'my_custom_population_function'); 
function my_custom_population_function($value){ 
return do_shortcode('[Leadsource]'); 
} 
add_filter('gform_field_value_First', 'my_custom_population_function'); 
function my_custom_population_function($value){ 
return do_shortcode('[i4w_db_FirstName]'); 
} 
add_filter('gform_field_value_Last', 'my_custom_population_function'); 
function my_custom_population_function($value){ 
return do_shortcode('[i4w_db_LastName]'); 
} 
add_filter('gform_field_value_Email', 'my_custom_population_function'); 
function my_custom_population_function($value){ 
return do_shortcode('[i4w_db_Email]'); 
} 

謝謝任何​​人誰可以幫忙! :)

回答

0

我覺得這樣的事情應該做的伎倆(PHP 5.3或更高版本):

add_action('init', 'so27284262_shortcode_init'); 
function so27284262_shortcode_init() 
{ 
    $xref = array(
     'Leadsource' => 'Leadsource', 
     'First'   => 'i4w_db_FirstName', 
     'Last'   => 'i4w_db_LastName', 
     'Email'   => 'i4w_db_Email' 
    ); 

    foreach($xref as $name => $cb) { 
     add_filter('gform_field_value_' . $name, function($value) use ($cb) { 
      return do_shortcode("[$cb]"); 
     }); 
    } 
} 
+0

這似乎這樣的伎倆,非常感謝你@diggy – Chris 2014-12-04 01:03:19