我有一个用于wordpress/gravityforms的PHP过滤器,它最近刚刚停止工作,我不知道为什么。有人能帮我吗?
代码如下:
add_filter(\'gform_pre_submission_2\', \'create_company_full_name\', 10, 2, \'input_7\', \'input_6\', \'input_1\');
add_filter(\'gform_pre_submission_1\', \'create_company_full_name\', 10, 1, \'input_3\', \'input_4\', \'input_77\');
add_filter(\'gform_pre_submission_26\', \'create_company_full_name\', 10, 26, \'input_7\', \'input_6\', \'input_9\');
function create_company_full_name($entry, $form, $first, $last, $company){
$field_we_are_checking = $company;
$name = $_POST[$first].\' \'.$_POST[$last];
if(empty($_POST[$field_we_are_checking])){
$_POST[$field_we_are_checking] = $name;
}
return;
}
它所做的是检查该人员是否将“公司”字段留空,如果留空,则在提交前在“公司”字段中输入名字和姓氏。对于3种不同的形式,它都是这样做的。如果我知道如何调试PHP,我会亲自尝试。但没有什么比msgboxes或任何其他方法更适合测试。有人能给我指出正确的方向吗?
非常感谢!
更新的代码:
add_filter(\'gform_pre_submission_1\', \'create_company_full_name\', 10, 2);
//
function create_company_full_name($entry, $form){
switch($form){
case 1:
$field_we_are_checking = $_POST[\'input_77\'];
$name = $_POST[\'input_3\'].\' \'.$_POST[\'input_4\'];
break;
case 2:
$field_we_are_checking = $_POST[\'input_1\'];
$name = $_POST[\'input_7\'].\' \'.$_POST[\'input_6\'];
break;
case 26:
$field_we_are_checking = $_POST[\'input_9\'];
$name = $_POST[\'input_7\'].\' \'.$_POST[\'input_6\'];
break;
}
if(empty($_POST[$field_we_are_checking])){
$_POST[$field_we_are_checking] = $name;
}
return;
}