环顾四周,找不到与此相关的任何内容。尝试在WordPress网站上运行do短代码过滤器的多个实例,以预先填充Web表单中的某些表单值。
仍在努力解决这个问题并获得一些错误。我们如何将它们组合起来以避免重复的功能错误和其他相关问题?
单个执行短代码过滤器的当前工作示例,仅此一项有效:
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 :(得分: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]" );
} );
}
}