0

我目前正在本地安装的 wordpress 上开发自动站点创建功能。实质上,在现有站点上填写表单,然后通过激活某些查询的端点自动提取该信息以创建新站点。到目前为止,我已经能够成功地将信息提取到一个数组中,然后将其传递给wpmu_create_blog函数。问题是$domain没有被正确调用(也就是说,我打算如何调用它),'/'在'localhost'和'wordpress'之间丢失了。

public function create_endpoint($request) {
        $key = $request['key'];
        if ($this->validate_key($key)) {
          $newsite = array (
                $title = $request['name'],
                $path = $request['slug'],
                $admin_user = $request['admin_user'],
              );
                $domain = 'localhost/wordpress';
                $site_id = get_blog_id_from_url($domain, $path);
                $user_id = get_user_by('login', $admin_user);
                  if ( !empty($title) and !empty($domain) and !empty($path) and empty($user_id) ) {
                    return wpmu_create_blog($domain, $path, $title, $user_id, $site_id);
                  }
                  else {
                    return "Not enough information";
                  }
        }
         else {
            return $this->invalid_key_message;
        }
    }

除了按预期调用的域之外的所有内容都按预期工作。这也只是静态原型,我的最终目标是这完全是动态的,包括$domain变量。

我完全不知道从这里去哪里。我已经尝试了一些附加的东西并以各种方式移动语法,但一直碰壁。我们很乐意接受任何意见或建议。

4

1 回答 1

0

我已经实施了一个解决方案。在数组$path中已更改为$slug(使用 slug 特定于我的代码)。现在$domain只调用“localhost”,我$path使用纯文本创建“wordpress”,然后通过$request.

  $newsite = array (
                $title = $request['name'],
                $slug = $request['slug'],
                $admin_user = $request['admin_user'],
              );
                $domain = 'localhost';
                $path = 'wordpress/'.$request['slug'];
于 2020-11-23T19:30:19.153 回答