我正在使用优质的Wordpress主题,并且正在尝试获取该主题随附的自定义联系表单,以便在成功完成后重定向到“谢谢”页面(这是用于转化跟踪的目的)

无论如何,这里是在页面上输入时调用短代码的代码

    add_shortcode('etheme_contacts', 'etheme_contacts_shortcodes');
    function etheme_contacts_shortcodes($atts, $content=null){
    $a = shortcode_atts( array(
       'gmap' => 1
    ), $atts );
    if(isset($_GET['contactSubmit'])){
    $emailFrom = strip_tags($_GET['contactEmail']);
    $emailTo = etheme_get_option('contacts_email');
    $subject = strip_tags($_GET['contactSubject']);

    $name = strip_tags($_GET['contactName']);
    $email = strip_tags($_GET['contactEmail']);
    $message = strip_tags(stripslashes($_GET['contactMessage']));

    $body = "Name: ".$name."\n";
    $body .= "Email: ".$email."\n";
    $body .= "Message: ".$message."\n";
    $body .= $name.", <b>".$emailFrom."</b>\n";

    $headers = "From: ".$emailFrom."\n";
    $headers .= "Reply-To:".$emailFrom."\n";

    if(isset($_GET['contactSubmit'])){
        $success = mail($emailTo, $subject, $body, $headers);
        if ($success){
        echo '<p class="yay">All is well, your e&ndash;mail has been sent.</p>';
        }
    } else {
        echo '<p class="oops">Something went wrong</p>';
    }
    } else {
    if($a['gmap'] == 1):
    ?>

    <div id="map">
        <p>Enable your JavaScript!</p>
    </div>
    <script type="text/javascript">
        var $map = jQuery('#map');
        if( $map.length ) {
            $map.gMap({
                address: '<?php etheme_option('google_map'); ?>',
                zoom: 16,
                markers: [
                    { 'address' : '<?php etheme_option('google_map'); ?>' }
                ]
            });
        }
        var succmsg = '<?php _e('All is well, your e&ndash;mail has been sent!',     ETHEME_DOMAIN); ?>';
    </script>
    <?php endif; ?>
    <?php if(etheme_option('contacts_custom_html') != ''): ?>
    <div class="custom-html">
        <?php echo etheme_option('contacts_custom_html') ?>
    </div>
    <?php endif; ?>
    <div class="one-third">
        <div id="contactsMsgs"></div>
        <form action="<?php the_permalink(); ?>" method="POST" class="form"      id="ethemeContactForm">
            <div class="formField">
                <label for="contactName"><?php _e('Name', ETHEME_DOMAIN); ?> <span class="required">*</span></label>
                <input type="text" class="textField required-field" name="contactName" id="contactName" />
                <div class="clear"></div>
            </div>
            <div class="formField">
                <label for="contactEmail"><?php _e('Email', ETHEME_DOMAIN); ?> <span class="required">*</span></label>
                <input type="text" class="textField required-field email" name="contactEmail" id="contactEmail" />
                <div class="clear"></div>
            </div>
            <div class="formField">
                <label for="contactSubject"><?php _e('Subject', ETHEME_DOMAIN); ?></label>
                <input type="text" class="textField" name="contactSubject" id="contactSubject" />
                <div class="clear"></div>
            </div>
            <div class="formField">
                <label for="contactMessage"><?php _e('Message', ETHEME_DOMAIN); ?> <span class="required">*</span></label>
                <textarea class="textField required-field" name="contactMessage" id="contactMessage" cols="30" rows="10"></textarea>
                <div class="clear"></div>
            </div>
            <div class="formField ">
                <button class="button" name="contactSubmit" type="submit"><span><?php _e('Send Request', ETHEME_DOMAIN); ?></span></button>
                <div class="contactSpinner"></div>
            </div>
        </form>
    </div>
    <div class="one-third last fl-r">
        <div class="block non-line contats">
            <?php etheme_option('contacts_info'); ?>
        </div>
    </div>
<?php
}
}


我假设这里需要更改某些内容,因为这是php为提交的表单设置函数的位置,但是由于我的笨拙,我不确定如何处理此代码。

if(isset($_GET['contactSubmit'])){
$success = mail($emailTo, $subject, $body, $headers);
if ($success){
echo '<p class="yay">All is well, your e&ndash;mail has been sent.</p>';
}
} else {
echo '<p class="oops">Something went wrong</p>';
}

最佳答案

试试这个 :

header( 'Location: http://www.yoursite.com/thanyk_you.html' ) ;


替换当前:

echo '<p class="yay">All is well, your mail has been sent.</p>';

10-07 19:16
查看更多