如何将select html添加到我自己的联系表单“在Wordpress中”

时间:2017-03-15 20:42:58

标签: wordpress forms select contact

我创建了自己的联系表单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);

1 个答案:

答案 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/

我希望有所帮助。