首页 > 解决方案 > 比较WordPress中的用户名和自定义字段

问题描述

我正在尝试根据登录用户和自定义字段值显示一条消息。如果登录用户和自定义字段值相同,则应显示“此页面已分配给您”

否则,它应该显示“此页面不是为您分配的”

我的代码是为此:

global $wp_query;
$postid = $wp_query->post->ID;
$getClient = get_post_meta($postid, 'clientName', true);
echo 'Client is : '.$getClient;

$current_user = wp_get_current_user();
echo '<br/>Username: ' . $current_user->user_login . '<br />';

if ($getClient !== $current_user){
    echo 'this page is NOT assigned for you';
}
else {
    echo 'this page is assigned for you';
}

当我转到页面时,如果用户名和自定义字段值相同,则显示:

Client is : cd_riffaz
Username: cd_riffaz
this page is NOT assigned for you

实际上它应该显示“ this page is assigned for you”对吗?因为值是相同的。

为什么它不能按预期工作?

标签: wordpresscomparisoncustom-fields

解决方案


您正在将 object ( $current_user) 与 string进行比较$getClient
你应该做if ($getClient !== $current_user->user_login)

PS你可以做global $current_user;而不是$current_user = wp_get_current_user();


推荐阅读