编程WordPress在注册表提交时发送电子邮件?

时间:2010-12-03 作者:Niraj Chauhan

(Moderator\'s note: 原来的标题是:“wordpress中的提交按钮。”)

我想创建一个注册表以发送电子邮件。

我试过了Contact Form 7 但是我想使用我自己的HTML<form>. 我可以完成整个编码,但我只想知道“提交”按钮的代码,以便注册直接转到我的管理员电子邮件ID,因为我认为提交按钮的普通HTML代码不起作用。

有人能帮我吗?

1 个回复
最合适的回答,由SO网友:MikeSchinkel 整理而成

虽然您可以使用jQuery在客户端上做一些事情,但我认为您最好使用Post/Redirect/Get Pattern 并通过<form method=\'post\'> 行动

下面截图后的代码是“Page Template“对于”Page“说明了如何使用WordPress实现您的要求。将代码复制到主题目录中,如下所示page-contact-form.php (或您更喜欢的其他名称),然后创建一个模板设置为“联系人表单”的页面,如屏幕截图中所示(注意,我将页面模板保持尽可能简单,以说明该技术;在真实的live页面模板中通常会有更多的代码):

Using a Page Template in WordPress 3.0
(来源:mikeschinkel.com)

<?php
/*
  Template Name: Contact Form
*/
define(\'ADMIN_USER\',\'mikeschinkel\');
if (count($_POST)) {
  $admin_user = get_userdatabylogin(ADMIN_USER);
  $registered_email = $_POST[\'email\'];
  wp_mail($admin_user->user_email,
    \'New Site Registration\',
    "New Site Registration:\\n\\tEmail: {$registered_email}.");
}
?>
<?php get_header(); ?>
<?php if (count($_POST)): ?>
    <p>Hey <?php echo $_POST[\'email\']; ?>, thanks for registering!</p>
<?php else: ?>
  <form method="post">
    Email: <input type="text" name="email" />
    <input type="submit" value="Register" />
  </form>
<?php endif; ?>
<?php get_footer(); ?>
使用上述页面模板创建页面后,您的外部网站上可能会出现如下情况:

Simple Registration Form for WordPress, Part 1
(来源:mikeschinkel.com)

这可能是访客注册后的样子:

Simple Registration Form for WordPress, Part 2
(来源:mikeschinkel.com)

结束

相关推荐

New post email alert

我想显示一个复选框,其中包含通过电子邮件订阅网站的选项我看到一个wordpress博客,上面的复选框旁边有以下标签通过电子邮件订阅此网站问题是我找不到显示它的插件:我尝试了Subscribe2、Post Notification和Gurken进行评论订阅。你知道我需要安装什么插件吗?