检查从WP文件夹外部登录的用户

时间:2020-10-13 作者:T.Todua

如果用户登录到站点/子站点,并且您选中此功能:

require(__DIR__."/wp-load.php");
var_dump(is_user_logged_in());
它返回true。但是,如果从外部文件夹调用:

require(__DIR__."/subfolder/wp-load.php");
var_dump(is_user_logged_in());
它不识别授权。在不使用REST-API的情况下,实现这一目标的可接受方法是什么?(我怀疑它只是需要为cookie指定一些子目录)。

1 个回复
SO网友:Sally CJ

如果WordPress安装在/subfolder/, 默认情况下,身份验证cookie仅对该路径有效。

因此,如果需要,可以通过设置cookie constants like COOKIEPATH.

例如,如果我的WordPress安装在example.com/wp/ 我想在example.com/, 然后我将在中定义以下内容wp-config.php: (但我不太了解SITECOOKIEPATHCOOKIEPATH, 除此之外,前者似乎针对多站点)

define( \'COOKIEPATH\',        \'/\' );
define( \'SITECOOKIEPATH\',    \'/\' );
define( \'ADMIN_COOKIE_PATH\', \'/wp/wp-admin\' );
但问题是,在应用上述更改之前,您需要先注销,对于已经登录到您站点的所有其他用户也是如此,即在应用上述更改之前注销。

因此,您只需通过更改security keys like LOGGED_IN_KEY — 所有用户都必须再次登录,但至少他们能够正确登录。

相关推荐

WordPress存储库禁止我在非WordPress文件中调用wp-load.php

我制作了一个Wordpress插件,它是一种下载管理器。我有一个外部文件下载。负责下载的php。此文件不在Wordpress环境中,因此我必须调用:$wp_root = dirname(dirname(dirname(dirname(__FILE__)))); require_once $wp_root.\'/wp-load.php\'; 我可以使用$wpdb进行sql查询。注意:此文件必须是外部文件,因为我使用函数“headers()”强制下载。header(\"Pragma: pub