Build 联系表格 . 我需要输入字段您的姓名,电子邮件和电话 . 人必须在这些字段中输入信息,否则他们将收到错误消息 . 我的第四个字段是消息文本框 . 在该字段中使用占位符=我有一个我感兴趣的默认消息:“get_the_title(帖子的帖子)” . 像我希望的那样工作 . 我的问题是我不想强迫填写表单的人必须在此字段中输入文本,如果他们不在消息文本框中添加任何其他文本,它将发送联系表单电子邮件,其中包含我使用的默认文本我默认生成的“占位符”文本如上所述 . 现在我的代码强制在消息框中输入要发送的文本 .
这是我正在使用的代码:
echo '<form action="' . esc_url( $_SERVER['REQUEST_URI'] ) . '" method="post">';
echo '<h5>';
echo 'Ask a question
';
echo '</h5>';
echo '<p>';
echo '<input style="margin-left: 15px;" type="text" placeholder="Your Name (required)" name="cf-name" pattern="[a-zA-Z0-9 ]+" value="' . ( isset( $_POST["cf-name"] ) ? esc_attr( $_POST["cf-name"] ) : '' ) . '" size="29" />';
echo '</p>';
echo '<p>';
echo '<input style="margin-left: 15px;" type="email" placeholder="E-mail (required)" name="cf-email" value="' . ( isset( $_POST["cf-email"] ) ? esc_attr( $_POST["cf-email"] ) : '' ) . '" size="29" />';
echo '</p>';
echo '<p>';
echo '<input style="margin-left: 15px;" type="text" placeholder="Phone (required)" name="cf-subject" pattern="[0-9-() ]+" value="' . ( isset( $_POST["cf-subject"] ) ? esc_attr( $_POST["cf-subject"] ) : '' ) . '" size="29" />';
echo '</p>';
echo '<p>';
echo '<textarea style="margin-left: 15px; width: 246px;" rows="3" cols="28" placeholder="I am interested in: '.get_the_title().' " name="cf-message">' . ( isset( $_POST["cf-message"] ) ? esc_attr( $_POST["cf-message"] ) : '' ) . '</textarea>';
echo '</p>';
echo '<p><input type="submit" name="cf-submitted" value="Contact Agent" style="border-radius: 5px; color: #fff; margin-left: 15px; width: 247px; height: 38px; background-color: #27ae60;"></p>';
echo '</form>';
echo '<p style="font-size: x-small; font-weight: bold; margin-left: 22px;">';
echo 'By sending a request you agree to our Privacy Policy';
echo '</p>';
// if the submit button is clicked, send the email
if ( isset( $_POST['cf-submitted'] ) ) {
// sanitize form values
$name = sanitize_text_field( $_POST["cf-name"] );
$email = sanitize_email( $_POST["cf-email"] );
$subject = sanitize_text_field( $_POST["cf-subject"] );
$message = esc_textarea( $_POST["cf-message"] );
// get the blog administrator's email address
$to = get_option( 'admin_email' );
$headers = "From: $name <$email>" . "\r\n";
// If email has been process for sending, display a success message
if ( wp_mail( $to, $subject, $message, $headers ) ) {
echo '<div>';
echo '<h5>Thanks for contacting us, expect a response soon.</h5>';
echo '</div>';
}
else {
echo '<h5>An unexpected error occurred.</h5>';
}
}
1 回答
而不是使用
placeholder="I am interested in: '.get_the_title().' "
你可以使用这个:这样,如果用户不对文本区域进行任何更改,则默认情况下将发送该值