web-dev-qa-db-ja.com

ユーザーに自分のBuddypressプロファイルの表示のみを許可する方法は?

私は現在Wordpress + Buddypressを使用してソーシャルネットワークのようなサイトを開発しています、そして、クライアントはプロファイルページが当面公開されないように頼みました。基本的にクライアントはログインしているユーザーが自分のプロフィールを見ても問題ありませんが、他のユーザーのプロフィールページを見ようとするとホームページにリダイレクトするはずです。

関数bp_is_my_profile()を見つけて、members/single/profile.phpファイルの先頭にある次のコードを使用してユーザーをリダイレクトしましたが、うまくいかないようです。任意のポインタ?

<?php
if ( !bp_is_my_profile() )
{
    wp_redirect(site_url(), 302);
}
?>
2

私は自分自身でこの問題を解決しました、それは非常に簡単でした、そして、他に誰も答えを提供しなかったことに驚きました。そうは言っても、解決策は、表示しているプロファイルの作成者IDを確認し、現在ログインしているユーザーのIDと比較する数行のコードを追加することです。

このコードはmembers/single/profile.phpの一番上にあります。

<?php
    // Global $bp variable holds all of our info
    global $bp;

    // The user ID of the currently logged in user
    $current_user_id = (int) trim($bp->loggedin_user->id);

    // The author that we are currently viewing
    $author_id  = (int) trim($bp->displayed_user->id);

    if ($current_user_id !== $author_id)
    {
    // redirect to home page url
        wp_redirect(home_url());
        exit();
    }
?>
3