这是我在Wordpress中的网站的联系表单插件。联系表单如果与字符串类似,则应显示消息,然后让用户决定是否仍要发送消息。
问题是deliver_mail_now();
函数发送消息但是如果我显示similair文本消息并且用户按发送电子邮件(deliver_mail()
)它即使它发送消息也不会发送消息。几乎相同的功能。
function acf_similair() {
if ( isset( $_POST['button-submit'])) { //The contact form submit button
$name = sanitize_text_field( $_POST["name"] );
$email = sanitize_email( $_POST["email"] );
$subject = sanitize_text_field( $_POST["subject"] );
$message = esc_textarea( $_POST["message"] );
$similair = '//';
similar_text($similair, $message, $percent);
if ($percent > 50) {
echo '//';
echo '<form action="' . esc_url( $_SERVER['REQUEST_URI'] ) . '" method="post">';
echo '<input type="submit" name="submit" id="submit" value="Send email">';
echo '</form>';
} else {
deliver_mail_now();
}
function deliver_mail_now() {
$name = sanitize_text_field( $_POST["name"] );
$email = sanitize_email( $_POST["email"] );
$subject = sanitize_text_field( $_POST["subject"] );
$message = esc_textarea( $_POST["message"] );
$to = get_option( 'admin_email' );
$headers = "From: $name <$email>" . "\r\n";
if ( wp_mail( $to, $subject, $message, $headers ) ) {
echo 'Success';
} else {
echo 'Fail';
}
}
function deliver_mail() {
if ( isset( $_POST['submit'])) {
$name = sanitize_text_field( $_POST["name"] );
$email = sanitize_email( $_POST["email"] );
$subject = sanitize_text_field( $_POST["subject"] );
$message = esc_textarea( $_POST["message"] );
$to = get_option( 'admin_email' );
$headers = "From: $name <$email>" . "\r\n";
if ( wp_mail( $to, $subject, $message, $headers ) ) {
echo 'Success';
} else {
echo 'Fail';
}
}
}