gpt4 book ai didi

php - 如何读取我网站中的 wordpress cookie?

转载 作者:可可西里 更新时间:2023-11-01 13:26:54 25 4
gpt4 key购买 nike

我想将我的网站与 wordpress 集成。我想知道如何读取 wordpress cookie,这样我就不需要在我的网站上再次对用户进行身份验证。我尝试在我的网站中包含 wordpress 的头文件,但是然后我无法连接到我网站的数据库。两者都是不同的。我可以设置 cookie 的其他参数,如用户级别等吗?我的网站是用 php 编写的。

最佳答案

在您的网站中,将该代码包含在每个文件的顶部:

<?php 
define('WP_USE_THEMES', false);
require('./blog/wp-blog-header.php');
?>

...假设您的博客在 ./blog/ 中。

它包括整个 wordpress 堆栈。您将可以访问代码中的所有 wordpress 功能。有了它,您可以轻松检查用户是否登录、角色和能力,还可以检索帖子等。

然后在你的代码中,检查用户:

if (is_user_logged_in()) { ... } 

Codex : is_user_logged_in()

您还可以包含注销链接:

<a href="<?php bloginfo("url"); ?>/wp-login.php?action=logout/">Logout</a>

如果您的博客和您的网站不在同一个域或子域中,您必须在 wp-config.php 中自定义 cookie 域

define('COOKIE_DOMAIN', '.domain.com'); // Share cookie on all subdomains

编辑

如果您真的只想读取 wordpress cookie(这是性能的不错选择):cookie 名称存储在常量 AUTH_COOKIE 中。

AUTH_COOKIE 在 /wp-includes/default-constants.php -> line 171 中定义为

"wordpress_" + md5( get_site_option(siteurl) )

您必须检索或重新计算 AUTH_COOKIE,然后读取 $_COOKIE[AUTH_COOKIE]。

要解析它,请查看 wp-includes/pluggable.php @line 585 中的 wp_parse_auth_cookie()(实际上格式很简单 user|expiration|hmac 所以用 | 分割链并得到第一个元素)

关于php - 如何读取我网站中的 wordpress cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9350265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com