在Moodle中调用wordpress函数时出现问题

时间:2014-03-26 06:38:06

标签: php wordpress moodle

我有一个moodle系统。我想在我的Moodle代码中调用wp_signon函数。这个自动从Moodle登录用户进入WordPress,以便用户可以查看我们的私人博客帖子。从他的Moodle登录,我知道用户的WordPress凭据。

要调用此函数,我需要包含wp-load.php文件。我相信wp-load.php包含所有wordpress功能。 wordpress和Moodle都有get_users()get_context()个函数。这会抛出一个错误,说不能声明2个具有相同名称的函数。此外,get_users()未使用get_context()wp_signon()函数。

我该如何解决这个问题?是否有任何其他文件可以包含而不是wp_load.php

1 个答案:

答案 0 :(得分:0)

没有简单的方法可以做到这一点,因为正如你所说,Moodle和WordPress都有冲突的函数名:get_users()和get_context(),所以你不能方便地加载一个系统。其他

以下是解决这个问题的一种方法:

  • 当用户登录Moodle时,会自动触发对您的WordPress网站的远程HTTP调用,请求该用户也登录。

  • 编写一个WordPress插件,用于验证来自Moodle的登录请求,并将用户登录。您可能需要查看wp_signon()wp_set_auth_cookie()函数,并查看特定的身份验证方式用户可以通过编程方式完成。

听起来非常简单,但如果你想让整个事情变得安全,那么实施这个非常复杂。

我建议您查看OAuth2,这是如何安全实施远程授权的标准。这个想法与我上面写的相似,但它有更多关于如何安全验证请求的详细信息。