バリデーションを設定する
※お問い合わせ内容がテキストエリア[your-message*]と必須になっている場合(*が付いている)
「wpcf7_validate_textarea*」こちらにも*を付けることによって指定できる。
未入力の場合は指定したエラーメッセージ、例えば「必須項目に入力してください。」、URLを入力した場合「URLの入力はできません」というエラーメッセージを出す。
URLはhttps、httpどちらもエラーになる。
functions.php
add_filter('wpcf7_validate_textarea*', 'custom_validate_no_urls', 20, 2);
function custom_validate_no_urls($result, $tag) {
$name = $tag->name;
$value = isset($_POST[$name]) ? $_POST[$name] : '';
if (preg_match('/https?:\/\/[^\s]+/', $value)) {
$result->invalidate($tag, 'URLの入力はできません');
}
return $result;
}