从Add_Comment_Meta检索元值

时间:2014-02-24 作者:inTOWN

我有一个评论投票功能,需要显示投票给特定评论的用户的头像。我在获取投票者(支持者)的用户id时遇到问题。我似乎只得到发表评论的用户的用户ID>我需要获得投票用户的用户ID。

我的职能:

function addServiceSupporter($comment_id, $user_id) {
    add_comment_meta( $comment_id, \'supporting_user\', $user_id, false );
}
因此$user\\u id存储在wp\\u commentmeta表的meta\\u值下。

在这个函数之前,我有以下内容,其中似乎有一个user\\u id。

/**
 * After an ajax call try to add the supporter
 */
if (isset($_POST[\'new_service\'])) {
    $new_service_supporter = $_POST[\'new_service\'];
    try {
        addServiceSupporter($new_service_supporter[\'comment_id\'], $new_service_supporter[\'user_id\']);
    } catch (Exception $e) {
        print_r($e);
    }
    die;
}
电话:

foreach($supporters as $supporter) {
    $supporting_user = get_comment_meta(get_comment_ID(),\'supporting_user\', true);
    $avatar = get_avatar($supporting_user, 24 );

    echo $avatar; 
}
我也尝试过:

$avatar = get_avatar($supporting_user, 24 );
但这当然会给出当前活跃在页面上的用户的化身。

如何获取此comment\\u meta的$user\\u id aka meta\\u值?

结果应该是:用户对其他人的评论进行评论投票(或者喜欢,如果你愿意的话)。然后展示投票人的头像。我的问题=如何获取voters (不是评论作者,不是当前用户)这样我才能显示正确的化身?

2 个回复
SO网友:Rarst

您正在使用非唯一密钥保存数据(false 作为最后一个参数),但将其作为单一数据检索(true 作为最后一个参数)。

这很可能会让你回复第一个投票人的评论。您需要检索完整的值数组,并使用它来操作完整的数据。

SO网友:inTOWN

我要做的是:

$supporters = get_comment_meta(get_comment_ID(),\'supporting_user\', false);
将$supporting\\u user重命名为$supporter(就像foreach一样)
  • 将true改为false
    1. 完整代码:

      $supporters = get_comment_meta(get_comment_ID(),\'supporting_user\', false);
      foreach($supporters as $supporter) {
      $avatar = get_avatar($supporter, 24 );
      echo $avatar; 
      }
      
      感谢@Rast的帮助。

    结束

    相关推荐

    Replace default avatar

    我在谷歌搜索了很多次,每个网站都有相同的过滤器,但它似乎对我不起作用。不确定这是我的设置还是旧代码。我正在尝试:add_filter( \'avatar_defaults\', \'newgravatar\' ); function newgravatar ($avatar_defaults) { $myavatar = get_bloginfo(\'template_directory\') . \'/img/blog_noPhoto.jpg\';