「WP-Favorite Posts」プラグインをBuddyPressで使う場合に各ユーザーごとのお気に入りを表示する

harada 859views 更新:2014年6月23日

全員のお気に入り一覧ではく、各ユーザー毎のお気に入りを表示する場合です。

$favorite_post_ids = wpfp_get_users_favorites();

を以下のように変更します。

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

利用例

<?php 
    $favorite_post_ids = wpfp_get_users_favorites($GLOBALS['bp']->displayed_user->userdata->user_login);
    $args = array(
                'posts_per_page' => $wp_query->max_num_pages,
                'paged' => get_query_var('page'),
                'post__in' => $favorite_post_ids
            );
    query_posts($args); 
?>
<?php if ( have_posts() ) : ?>
<table class="table border_bottom"><tbody>
<?php while(have_posts()): the_post();
?>
<tr>
<td>
<a href="<?php echo bp_core_get_user_domain(get_the_author_meta('id')); ?>" rel="bookmark" title="<?php echo get_the_author_meta('display_name'); ?>"><?php echo get_avatar( get_the_author_meta( 'email' ), '50' ); ?></a>
</td>
<td><h3><a class="title" href="<?php the_permalink(); ?>" rel="bookmark" title="<?php _e( 'Permanent Link to', 'buddypress' ); ?> <?php the_title_attribute(); ?>">
<?php the_title(); ?>
</a></h3>
<span class="date"><?php printf( __( '%1$s', 'buddypress' ), get_the_date(), get_the_category_list( ', ' ) ); ?></span>
</td>
</tr>
<?php endwhile; ?>
</tbody></table>
<?php if (function_exists("pagination")) { pagination($additional_loop->max_num_pages); } ?>
<?php else : ?>
<ul class="list"><li>まだ投稿はありません。</li></ul>
<?php endif; ?>
<?php wp_reset_query(); ?>

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません