问问题
1040 次
1 回答
1
从http://es2.php.net/manual/en/functions.user-defined.php:
PHP 中的所有函数和类都具有全局作用域——即使它们是在函数内部定义的,它们也可以在函数外部调用,反之亦然。
PHP 不支持函数重载,也不可能取消定义或重新定义先前声明的函数。
ov3rfly_replace_include_blank
每次调用时都会声明函数my_wpcf7_form_elements
,并且 PHP 不支持函数重载,因此会出现错误。由于所有 PHP 函数都具有全局范围,因此即使在外部定义它们,它们也可以在函数内部调用。尝试:
function ov3rfly_replace_include_blank($name, $text, &$html) {
$matches = false;
preg_match('/<select name="' . $name . '"[^>]*>(.*)<\/select>/iU', $html, $matches);
if ($matches) {
$select = str_replace('<option value="">---</option>', '<option value="">' . $text . '</option>', $matches[0]);
$html = preg_replace('/<select name="' . $name . '"[^>]*>(.*)<\/select>/iU', $select, $html);
}
}
function my_wpcf7_form_elements($html) {
ov3rfly_replace_include_blank('c_age', 'גיל', $html);
ov3rfly_replace_include_blank('c_area', 'איזור', $html);
ov3rfly_replace_include_blank('c_type', 'סוג ביטוח', $html);
ov3rfly_replace_include_blank('c_area', 'איזור', $html);
ov3rfly_replace_include_blank('c_cartype', 'סוג רכב', $html);
ov3rfly_replace_include_blank('c_manifacture', 'יצרן', $html);
ov3rfly_replace_include_blank('c_manifactureyear', 'שנת יצור', $html);
ov3rfly_replace_include_blank('c_driversage', 'גיל הנהג', $html);
ov3rfly_replace_include_blank('c_prevent', 'שלילות', $html);
ov3rfly_replace_include_blank('c_claim', 'תביעות', $html);
return $html;
}
add_filter('wpcf7_form_elements', 'my_wpcf7_form_elements');
于 2012-11-15T11:27:53.767 回答