我创建了自己的联系表单wordpress。我可以发送“名称”“电子邮件”..但我不能发送HTML选择信息和复选框值。你能帮帮我吗?
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<input type="checkbox" name="vehicle" value="Car">I have a car
使用这个php:
$name = $_POST['message_name'];
$email = $_POST['message_email'];
$message = $_POST['message_text'];
$human = $_POST['message_human'];
$to = get_option('admin_email');
$subject = "Someone sent a message from ".get_bloginfo('name');
$headers = 'From: '. $email . "\r\n" .
'Reply-To: ' . $email . "\r\n";
$sent = wp_mail($to, $subject, strip_tags($message), $headers);
答案 0 :(得分:1)
您需要为您的选择输入命名。
例如:
<label for='vehicle-brand'>Select a vehicle brand:</label><br>
<select name="vehicle-brand">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
您的复选框的代码看起来不错。要了解有关在PHP表单中使用复选框的更多信息,请尝试以下链接:http://form.guide/php-form/php-form-checkbox.html
<input type="checkbox" name="vehicle" value="Car">I have a car
然后发布此信息。
$vehiclebrand = sanitize_text_field( $_POST["vehicle-brand"] );
$vehicle = ( isset( $_POST["vehicle"] ) && $_POST['vehicle'] == 'Car' ? esc_attr( $_POST["vehicle"] ) : '' );
然后,您需要在邮件中添加这些变量以接收它们。
为了保护WordPress网站的安全性,最好清理变量。 sanitize_text_field()函数是一个WordPess函数,您可以在这里阅读更多相关信息:https://developer.wordpress.org/reference/functions/sanitize_text_field/
我希望有所帮助。