3

我正在尝试在成员页面之外的循环内放置一个“添加朋友”按钮,以便该按钮出现在帖子中作者头像的旁边。我尝试添加;

<?php if ( bp_is_active( 'friends' ) ) { ?>

                        <?php bp_add_friend_button( $user_ids['users'][$i]->id ) ?>

                    <?php } ?>

在循环内部,但它没有返回任何结果。然后我在functions.php中放置了以下动作挂钩,它显示了循环内的按钮,但是一旦点击,帖子列表中的所有按钮也都被点击了。

 add_action( ‘the_content’, ‘bp_add_friend_button’, 5 );

所以现在我被困住了。我想,在模板中添加一个模板标签会起作用,因为它适用于“发送消息”按钮。

4

3 回答 3

1

尝试

<?php if ( function_exists( 'bp_add_friend_button' ) ) : ?> <?php bp_add_friend_button() ?> <?php endif; ?>

于 2013-02-01T21:49:04.680 回答
1

这是一个对我有用的示例,希望对您有所帮助。

$id_or_email = $result -> user_ID;
$avatar_default = get_avatar($id_or_email, $size, $default = '', $alt = '', $args = null);
$potential_friend_id = $id_or_email;
$friend_status = false;
$friend_button = bp_add_friend_button($potential_friend_id, $friend_status);
 echo '<li>'. $avatar_default. $user_info->user_nicename . $friend_button . '</li> ';
于 2016-01-29T17:02:37.013 回答
0

可能有一个插件可以解决这个问题,但要跟进 Rafa 的解决方案。这个完整的代码对我有用。

  1. 在 bp-custom.php 中(这是您需要创建的文件)

     function my_id_text_processor($friend_id)
     {
       //Return string id without 'uid-' attached
       $search = 'uid-';
       $replace_with = '';
       return  str_replace($search, $replace_with, $friend_id);
    
     }
    
    1. 在您希望按钮出现的文件中放置此代码。
     < ?php $friend_id = my_id_text_processor(bp_get_group_invite_item_id()) ? >
    
    
     $avatar_default = get_avatar($friend_id, $size, $default = '', $alt = '', $args = null);
     $friend_status = false;
     $friend_button = bp_add_friend_button($friend_id, $friend_status);
     echo '<li>'. $avatar_default,bp_group_invite_user_link(),$friend_button . '</li> ';
    
于 2021-11-04T12:53:29.810 回答