繁体   English   中英

WordPress的通过JavaScript添加用户

[英]Wordpress Add user by javascript

我有一个wordpress网站,想用一个按钮创建用户(开始)

它是分段工作的,但我无法让这两部分一起工作

我有这段代码(可以在functions.php上工作,但不能在我的createaccount.php文件中)

 $userid = new WP_User(wp_create_user( 'My_new_name' , '123458' , 'me@mail.com'));
   $userid->set_role('client');  //custom role 'client' already set

当回显“测试”时,这在jQuery // php文件上有效;

$(document).ready( function() {

   $('#newbtnaccount').click( function() {

      $.post('php/createaccount.php', { } , 
                      function(data) {

                         alert(data);

    });

  });
});  

我已经尝试了很多选择,但似乎没有任何效果。

谁能帮忙? 谢谢!

在wordpress中,您可以向admin-ajax.php发出AJAX请求,并使用wp_ajax_my_action (对于已登录的用户)和wp_ajax_nopriv_my_action (对于未登录的用户)将功能附加到您的functions.php文件中。

1.将admin-ajax.php网址设置为JS变量

header.php中,将其添加到头部:

<script type="text/javascript">
var ajax_url = '<?php echo admin_url('admin-ajax.php'); ?>';
</script>

2.通过ajax请求功能

您需要在请求中添加一个action参数,以反映您需要在functions.php中调用的函数 -我们将其称为create_user

$.post(ajax_url, {action: 'create_user'} , function(data) {
  alert(data);
});

3.在functions.php中创建函数

functions.php内 ,添加以下内容:

function ajax_create_user() {
  $userid = new WP_User(wp_create_user( 'My_new_name' , '123458' , 'me@mail.com'));
  $userid->set_role('client');
  // echo whatever you need to return
}
add_action( 'wp_ajax_create_user', 'ajax_create_user' );
add_action( 'wp_ajax_nopriv_create_user', 'ajax_create_user' );

在Wordpress中阅读有关AJAX的更多信息

暂无
暂无

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

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