gpt4 book ai didi

mysql - Wordpress 如果存在 usermeta meta_key 则执行此操作

转载 作者:行者123 更新时间:2023-11-29 02:04:20 33 4
gpt4 key购买 nike

我相信这对你们所有人来说都很容易,但这对我来说是全新的。

基本上,我想检查登录用户是否在其个人资料中附加了特定的元数据,网站上是否会显示某些内容。

用户的元数据存储在 wp_usermeta 表中,该表包含 umeta_id、user_id、meta_key 和 meta_value。本质上,我需要查看 user_id 是否有一个名为“test”的 meta_key。

我知道 get_user_meta() 函数,但我无法让它按照我想要的方式工作......

global $current_user;

get_currentuserinfo(); // wordpress global variable to fetch logged in user info

$userID = $current_user->ID; // logged in user's ID
$havemeta = get_user_meta($userID, 'test', true); // stores the value of logged in user's meta data for 'test'.

if (isset($havemeta)){
echo $havemeta;
} else {
echo "No";
}

这段代码的理论是我检查 meta_key 'test' 是否包含一个 meta_value,如果为真则执行 X,否则执行 Y。令人烦恼的是并非所有用户都有一个 meta_key 'test'。因此,如果登录用户没有此元键,代码将不起作用。此外,我不想检查元键的实际值(我只关心它可以为 NULL),我只想知道登录用户是否存在这样的键。

有什么想法吗?

最佳答案

WordPress >=3.3

提议的解决方案有一个警告:值为 false 的 meta_key 将给出漏报。

要询问 WordPress 是否设置了 meta_key,即使值为 false,也可以使用 metadata_exists:

if ( metadata_exists( 'user', $user_id, $meta_key ) ) {

...

}

关于mysql - Wordpress 如果存在 usermeta meta_key 则执行此操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9108218/

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