Wordpress通过javascript添加用户

时间:2015-10-28 15:03:58

标签: javascript php ajax wordpress

我有一个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文件上工作时echo'test';

$(document).ready( function() {

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

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

                         alert(data);

    });

  });
});  

我已经尝试了很多选项,但是没有看上去有效。

任何可以提供帮助的人? 谢谢!

1 个答案:

答案 0 :(得分:1)

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

1。将admin-ajax.php url设置为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' );

Read more about AJAX in Wordpress