Ili*_*zis 3 php wordpress contact-form-7
我正在寻找一种在选定字段上添加水印的方法.
那是行不通的 - >
[select* c_type class:ic watermark "choose type" "a" "b" "c"]
Run Code Online (Sandbox Code Playgroud)
为了放置一个无效验证失败的值,我不得不放 include_blank
[select* c_type class:ic include_blank "a" "b" "c"]
Run Code Online (Sandbox Code Playgroud)
但问题是我有---水印,这就是我想要改变的东西..
小智 13
更新版的Contact Form 7允许使用first_as_label创建占位符文本,如果用户不进行选择,则不会将其作为条目进行验证.只需将占位符文本作为选项列表中的第一个标签即可.
[select* food-choice first_as_label "Preferred food?" "Cake" "Pizza" "Burger" "Salad" "Donut"]
Run Code Online (Sandbox Code Playgroud)
经过艰苦的搜索,我发现这个脚本正在工作,并且在定位到该元素时替换"---",这个正在改变所有的"---"s
function my_wpcf7_form_elements($html) {
$text = 'Please select...';
$html = str_replace('<option value="">---</option>', '<option value="">' . $text . '</option>', $html);
return $html;
}
add_filter('wpcf7_form_elements', 'my_wpcf7_form_elements');
Run Code Online (Sandbox Code Playgroud)
此代码替换为定位
function my_wpcf7_form_elements($html) {
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);
}
}
ov3rfly_replace_include_blank('menu-569', 'Choose language', $html);
ov3rfly_replace_include_blank('menu-614', 'Choose country', $html);
return $html;
}
add_filter('wpcf7_form_elements', 'my_wpcf7_form_elements');
Run Code Online (Sandbox Code Playgroud)
希望这将节省一些你头痛(来源这里)
小智 7
尝试这个:
[select* menu-206 first_as_label "Select doctor" "David Mikaberidze" "Sophio Gelashvili" "Maya Dolidze"]
Run Code Online (Sandbox Code Playgroud)
如果你发现字符串替换效率低下,你可以简单地使用这个:
jQuery(function($) {
$("select option:first").attr('disabled', 'disabled');// Disable the first value/label ---
});
Run Code Online (Sandbox Code Playgroud)
我还通过将“first_as_label”添加到 wcf7 中的短代码中,确保第一个替代方案是我想要使用的“标签”,如下所示:
[select name first_as_label 'label' 'alt1' 'alt2' 'alt3']
Run Code Online (Sandbox Code Playgroud)
通过禁用第一个选项,wcf7 将不会确认表单,直到选择了启用的替代选项。