我知道我可以使用gform_field_input
滤器有a吗
add_filter( \'gform_field_input\', \'my_gf_inputs\', 10, 5 );
function my_gf_inputs( $input, $field, $value, $lead_id, $form_id ) {
if ($field->formId == 1){ //the form i\'m customizing
switch( $field->id ){
case 1: //email field in that form
$input = <<<INPUT
<div class="col-sm-3 col-md-4">
<div class="form-group">
<input name="input_1" id="input_1_1" type="text" value="" placeholder="name" class="form-control" tabindex="1" aria-invalid="false">
</div>
</div>
INPUT;
}
}
}
有没有办法为同一表单生成不同的标记?也就是说,假设它同时出现在页面的页眉和页脚中,但设计不同。有没有办法使用
shortcode 表明这一点?例如,通过添加一个任意键/值参数,如“position”,如下所示?
[gravityform id="1" title="false" description="false" position="header"]
[gravityform id="1" title="false" description="false" position="footer"]
然后使用
position
不同标记的筛选器中的s值?
SO网友:T.Todua
您有三种方法:
1) 找出正确的钩子(此时我可以判断它是否存在)
2) 只使用CSS(例如,只需使用#header .form-group{}
(或由其另一个母公司div代替#header
)
3) 每次执行该函数时,使用全局变量进行计数。i、 e,参见示例:
add_filter( ........... );
function ..........{
$GLOBALS[\'my_form_counter\'] = empty($GLOBALS[\'my_form_counter\']) ? 1 : $GLOBALS[\'my_form_counter\'] + 1;
if($GLOBALS[\'my_form_counter\'] == 1){
//it\'s the first time of the form EXECUTION, so you know where it is happening.. Code what you want
}
if($GLOBALS[\'my_form_counter\'] == 2){
//it\'s the second time of the form EXECUTION, so do now what you want
}
}