2014-07-16 58 views
0

我有稱爲Test表單的表單頁面這種形式創建WordPress用戶:使用形式

<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 
function create_account(){ 
$user = 'AccountID'; 
$pass = 'AccountPassword'; 
$email = '[email protected]'; 
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'); 
?> 

現在,如果這是一個PHP文件功能定義在function.php然後它工作正常,並創建用戶,但在TestForm.php相同的功能不起作用。請幫助

另外我會從這樣的形式獲取數據:

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

回答

1

您需要正確更改來自操作的url。
你只是在你的形式使用該

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

給這個動作的URL,形成按照步驟

第一步 --Creating頁

這裏測試形式是一個頁面您需要通過
頁面 - >添加新,在您的wordpress儀表板中創建名稱Test-form for page。
並創建此頁面分配模板爲從默認模板測試表格模板(請參閱儀表板的右側面板以選擇模板)。

步驟2在 --creating頁面模板測試表單模板 TestForm.php

<?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 protected]'; 
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-內容/主題/ yourtheme/TestForm.php)
and this TestForm.php file will add Test form template,this you can add i ñ第一步

在主題functions.php文件,或類似:

add_action('init','create_account'); 

在頁面模板測試表單模板使用

do_action('init'); 
+0

但形式引導至TestForm.php點擊提交按鈕。所以我沒有發現任何問題與網址 – user3840069

+0

我面臨的問題是相同的功能是在functions.php工作正常,但是當我在TestForm.php中使用它,然後它doen'所以是他們的一種方式,我可以使用函數在TestForm.php中定義它們的參數是(用戶,密碼,電子郵件)參數? – user3840069

+0

我想我只是編輯答案,因爲你期待嘗試的代碼,評論問題,如果你有任何更多 –