我有一个PHP网站,在MySQL数据库中拥有自己的用户。该网站是“活跃的”,因此将在未定义的时间内继续创建新的用户帐户。
现在,我必须使用WP创建另一个具有以下2个特殊性的网站:
我想到的实现此目的的第一种方法是创建一个自定义登录功能来执行所有处理,而无需让wordpress自行为这些用户创建任何类型的用户帐户。我不是WP开发人员,但我想通过一些研究,我可以找到解决方法。
该选项的问题是,我计划包括一个论坛以及实际上可能需要WP中的用户帐户来跟踪评论,帖子等的其他功能。
所以我想寻求建议的是如何处理所有这些。理想情况下,我需要的是以下实现:
我知道只要编写一些代码就可以完成所有工作,我只是对Wordpress不太了解,所以我不知道这些事情是否太复杂了。
我想到的另一种选择是在创建原始网站中的帐户时立即在WP中创建用户帐户,但是我不知道是否甚至可以“合法”方式创建帐户(另一个网站的WP)。
对此主题的任何建议将不胜感激
一种解决方案是通过将信息从旧网站推送到wordpress来在wordpress中创建帐户。我确定您有一个触发器(当您决定需要在wordpress中创建用户时),该触发器需要触发时,请让您的网站将用户信息发送到wordpress站点中的wordpress脚本中您需要创建一个新的php文件,该文件将为用户创建以下内容:
您的PHP网站决定拥有一个用户,该用户检查所有在WordPress网站上开设帐户的原因,因此它将生成wget或curl(用于直接解决方案),并将所有需要传递给WordPress的信息作为参数。就像是
yourWPwebsite.com/createUser.php?username=<?php echo the username ?>&email=<?php echo the user email; ?>&...
然后createUser.php
在WordPress网站的根目录中创建一个文件(根据您的设置,您可能需要修改.htaccess,但在大多数设置中它应该都可以工作)
在该文件中(createUser.php)首先包括WordPress,其中包括休闲的wp-load.php:
require( 'wp-load.php' ); //if you put this script in another place then root you need to make sure you change the path for this file.
之后,您可以使用任何WordPress功能,例如安全性,我建议您仅从其他站点ip接受对此的视图,或者包括某种令牌来认证信息的来源,如果未通过身份验证,则重定向到404或主页或您想要的任何消息,然后阅读get变量(您可能希望对其进行一些清理)
然后使用休闲的wp函数创建用户: <?php wp_create_user( $username, $password, $email ); ?>
您可能使用的代码如下所示:
$user_id = username_exists( $user_name );
if ( !$user_id and email_exists($user_email) == false ) {
$random_password = wp_generate_password( $length=12, $include_standard_special_chars=false );
$user_id = wp_create_user( $user_name, $random_password, $user_email );
} else {
$random_password = __('User already exists. Password inherited.');
}
如果您希望用户具有特定角色,则可以添加一个角色管理/编辑插件并创建一个新角色,然后将该角色设置为默认角色。如果您想为用户强制使用某个角色,则需要在上述代码之后添加以下代码:
$user_id = wp_update_user( array( 'ID' => $user_id, 'role' => "DesiredRoleHere" ) );
使用用户管理插件,您可以删除用户的配置文件权限,也可以删除其他(很多)东西,例如使用Multisite User Management这样的插件来了解一个主意(其他想法可能更好),这样,用户就会在您的帐户上拥有一个帐户使用您设置的密码的wordpress网站,如果您想验证用户身份,可以采取类似的步骤,但是auth脚本将调用wp_authenticate
并具有类似于以下内容的脚本:
$logging = wp_authenticate ($username, $password);
//then redirect to the page you want to redirect users when they log in
它不是很多编码,但是您需要深入研究它,以确切了解每个步骤都有哪些限制。
另一个解决方案可能使用的是WP API之类的API,但是我没有使用过它,我不知道您可以做什么来验证用户身份并将其重定向到所需的wp页面(不确定)...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句