我正在使用高级 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–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–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–mail has been sent.</p>';
}
} else {
echo '<p class="oops">Something went wrong</p>';
}