web-dev-qa-db-ja.com

Wpのお気に入りの投稿は、buddypressを使用してプロファイル内のユーザーのお気に入りを取得します

私は現在問題を抱えています私はユーザーのお気に入りの投稿を問題なく表示しますが、問題はユーザーがログアウトされるとそれが表示されないことです。

各ユーザーは自分の投稿を持っていますが、ログインしている間は自分のプロフィールに自分のお気に入りの投稿を表示できますが、別のプロフィールにアクセスすると自分のお気に入りの投稿が表示されますbp_displayed_user_id();仕事をしていないようで、まったく働いていないので、誰かが私の問題を解決できることを願っています...

これが自分のお気に入りの投稿をプロファイルに表示するために使うコードそのものです。

<div class="profile-box items-following">

    <h3><?php _e('Items You Follow', 'bd_lang'); ?></h3>

    <div class="profile-content">

        <?php $favorite_post_ids = wpfp_get_users_favorites();
        if($favorite_post_ids) { ?>

                <?php foreach ($favorite_post_ids as $o) : $p = get_post($o); if ($p->post_status == 'publish') { ?>    

                    <div class="profile-item">

                        <!--Begin Image-->
                        <?php if(has_post_thumbnail($o)) { ?>                   
                            <div class="post-thumbnail">
                                <a href="<?php get_permalink($o); ?>" title="<?php echo $p->post_title; ?>">
                                    <?php $image = vt_resize(get_post_thumbnail_id($o), '', 50, 0, true); ?>
                                    <img src="<?php echo $image[url]; ?>" width="<?php echo $image[width]; ?>" height="<?php echo $image[height]; ?>" alt="<?php if(get_post_meta(get_post_thumbnail_id($o), '_wp_attachment_image_alt', true)) { echo get_post_meta(get_post_thumbnail_id($o), '_wp_attachment_image_alt', true); } else { echo $p->post_title; } ?>" />       
                                </a>                
                            </div>                  
                        <?php } ?>
                        <!--End Image-->

                        <a href="<?php echo get_permalink($o); ?>" title="<?php echo $p->post_title; ?>"><?php echo $p->post_title; ?></a>

                    </div>

                <?php } endforeach; ?>

        <?php } else { ?>

            <div class="profile-item">
                <strong><?php _e('Your are not currently following any items.', 'bd_lang'); ?></strong>
            </div>

        <?php } ?>

    </div>

</div>
1
DeadArtcore

プラグインを理解したので(正直に言うと、少しだけ見てみました)、wpfp_get_users_favorites()関数にユーザーIDを指定する必要があります。それ以外の場合は、現在ログインしているユーザーのIDが取得されます。

これが一行で全てです:

wpfp_get_users_favorites($GLOBALS['bp']->displayed_user->userdata->user_login);

2
tfrommen