繁体   English   中英

使用表单创建Wordpress用户

[英]Creating wordpress user using form

我有一个名为Test Form的表单页面,具有以下表单:

<div id="container">
<form action="wp-content/themes/max-magazine/TestForm.php" method="post" name="myForm">
User <input type="text"  name="uname" />
Email  <input id="email" type="text" name="uemail" />
Password  <input type="password"  name="upass" />
<input type="submit" value="Submit" /></form>
</div>

在后端有一个名为TestForm.php的php文件

<?php 
function create_account(){
$user = 'AccountID';
$pass = 'AccountPassword';
$email = 'email@domain.com';
if ( !username_exists( $user )  && !email_exists( $email ) ) {
    $user_id = wp_create_user( $user, $pass, $email );
    $user = new WP_User( $user_id );
    $user->set_role( 'contributor' );
} 
}
add_action('init','create_account');
?>

现在,如果在function.php中定义了此函数,则可以正常工作并创建用户,但TestForm.php中的相同函数不起作用。请帮助

我还将从这样的表单中获取数据:

<?php
$user = $_POST['uname'];
$pass = $_POST['upass'];
$email = $_POST['uemail'];
?>

您需要正确更改from动作的网址。
您只是在表单中使用它

<form action="http://yourdomain.com/Test-form" method="post" name="myForm"/>  

赋予此操作网址以遵循以下步骤

第一步 -创建页面

测试表单是您需要在Wordpress信息中心中通过以下方式创建的页面:
pages-> Add new ,为页面命名为Test-form。
在创建此页面时,请从默认模板中将模板分配为测试表单模板(请参阅仪表板的右侧面板以选择模板)。

TestForm.php 第二步 --creating页面模板测试表单模板

<?php
/*
Template Name: Test form template
*/
?>
<?php get_header(); ?>
<?php include (TEMPLATEPATH . '/functions.php');//already have their works if your file location changed ?>
<!-- Your action page contents goes here -->
<?php
$user = $_POST['uname'];
$pass = $_POST['upass'];
$email = $_POST['uemail'];
function create_account(){
$user = 'AccountID';
$pass = 'AccountPassword';
$email = 'email@domain.com';
if ( !username_exists( $user )  && !email_exists( $email ) ) {
    $user_id = wp_create_user( $user, $pass, $email );
    $user = new WP_User( $user_id );
    $user->set_role( 'contributor' );
} 
}
do_action('init');
?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

现在,将其保存为您的主题目录中的TestForm.php (wp-contents / themes / yourtheme / TestForm.php)
这个TestForm.php文件将添加测试表单模板 ,您可以在步骤1中添加。

在主题的functions.php文件或类似文件中:

add_action('init','create_account');

在页面模板中测试表单模板的使用

do_action('init');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM