Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在WordPress和自定义网站中登录用户?_Php_Wordpress_Woocommerce - Fatal编程技术网

Php 如何在WordPress和自定义网站中登录用户?

Php 如何在WordPress和自定义网站中登录用户?,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我有Woo commerce插件制作的word press电子商务网站。我为在网上商店购物的客户开发了一个会员网站。我在数据库中维护单独的用户表。用户名在word press wp用户表和我的用户表中都是相同的。我想在我的会员区和word press中登录用户,这样我就可以从word press获取数据(如打印收据等)。当用户登录到我的自定义成员身份时,应该会发生这种情况。我的自定义成员身份是使用php开发的。Wordpress和自定义成员身份都在同一个域下。我们也可以在自定义成员资格中使用wo

我有Woo commerce插件制作的word press电子商务网站。我为在网上商店购物的客户开发了一个会员网站。我在数据库中维护单独的用户表。用户名在word press wp用户表和我的用户表中都是相同的。我想在我的会员区和word press中登录用户,这样我就可以从word press获取数据(如打印收据等)。当用户登录到我的自定义成员身份时,应该会发生这种情况。我的自定义成员身份是使用php开发的。Wordpress和自定义成员身份都在同一个域下。我们也可以在自定义成员资格中使用wordpress函数


谢谢

解决您问题的最佳方案是SSO(单点登录)。单点登录(SSO)是多个相关但独立的软件系统的访问控制特性

SSO(单点登录)意味着当用户登录到一个应用程序时,他将“自动”登录到其他所有应用程序,而不考虑平台、技术和域

例如,谷歌为他们的产品实现SSO:Gmail、YouTube、Analytics等。当你打开电脑并访问Gmail时,你是第一次登录。然后,如果你进入YouTube,你将不会再次被提示输入凭据

其工作方式是通过“中央服务”(谷歌就是这样)。当您首次登录时,将在此中心服务上创建cookie。然后,当您尝试访问第二个应用程序时,您会被重定向到中央服务,但由于您已经有一个cookie,因此您会使用令牌直接重定向到该应用程序,这意味着您已经登录

WordPress SSO插件-


如果您的自定义网站是基于PHP的,请参见此处的解决方案-

如果您仍然希望继续使用您的版本,而不是像以前建议的那样尝试一次登录,您需要做的是在您拥有的每个网站上同时“登录用户”


这个想法不是最好的,但是我假设你的会员区在wordpress里面,所以网站应该是一样的。如果不是这样,单点登录是您的最佳选择。

现在,您可以在登录自定义页面的同时登录wordpress用户

  $user = get_user_by( 'email', "username@domain.com" );
    if( $user ) {
        wp_set_current_user( $user->id, $user->user_login );
        wp_set_auth_cookie( $user->id );
        do_action( 'wp_login', $user->user_login );
    }    

对任何自定义站点使用WordPress登录会话也感谢您。我找到了解决办法。很简单。我不是要求外部网站登录。自定义MembersHip和wordpress都在同一个域中。请您解释一下如何解决此问题,我现在遇到了相同的问题