wp收藏夹获得用户最喜欢的帖子问题

时间:2013-04-22 03:17:44

标签: wordpress plugins wordpress-plugin buddypress

我试图让用户最喜欢的帖子,但我似乎没有工作我使用 在每个个人资料用户中建立的buddypress和im都有自己喜欢的文章,他们喜欢任何文章并将其设置为他们的收藏,它会显示在他们的个人资料中,所以基本上我试图让它工作但不起作用。

我去访问我的个人资料,它显示正常,但我访问别人的其他和我的显示它没有显示他最喜欢的帖子只是我的它像循环只有我的但我登录使用另一个用户,它发生了同样的问题他最喜欢的帖子显示在我的个人资料和他的个人资料中我顺便使用wp收藏夹插件。

所以我试图做什么工作,但它在我的个人资料中表现得很好,但有一次我 访问其他配置文件它显示完全相同的事情它不会显示他们最喜欢的帖子而不是我的

这就是我想要做的工作http://pastie.org/7697956

`

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

    <h3><?php _e('fav posts', 'bd_lang'); ?></h3>

    <div class="profile-content">

        <?php $favorite_post_ids = wpfp_get_users_favorites(user_id);
        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 = bd_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('No posts have been added yet.', 'bd_lang'); ?></strong>
            </div>

        <?php } ?>

    </div>

</div> `

4 个答案:

答案 0 :(得分:0)

$user_id变量应包含查询用户的ID。看看例如this answer关于如何从$wp_query全球范围获取作者信息。

答案 1 :(得分:0)

尝试:

wpfp_get_users_favorites( bp_displayed_user_id() );

答案 2 :(得分:0)

我也使用这个插件,但主要是以缩略图的形式列出我自己的收藏夹。 我只在“foreach”声明中得到一个错误,但除此之外它还有效。

我不知道它是否会对你有所帮助,但无论如何它都在这里:

<?php $curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author)); ?>

<?php $user_favs = wpfp_get_users_favorites($curauth->display_name); ?>
<ul>


<?php  
foreach ($user_favs as $user_fav)
  {
echo "<a href='".get_permalink($user_fav)."' title='". get_the_title($user_fav) ."'>" . get_the_post_thumbnail( $user_fav, array(335,335) ) . "</a>";
  } ; ?>

答案 3 :(得分:0)

如果您想获取当前作者页面的ID而不是查看作者页面的当前用户的ID,您可以使用以下方法:

      $curauth = (get_query_var('author_name')) ? get_user_by('slug', get_query_var('author_name')) : get_userdata(get_query_var('author'));

这会创建一个可用于获取所需内容的对象。

例如,curauth-&gt; ID保存该作者的ID。

为此,您需要将此代码和任何相关代码放在author.php模板文件中。我假设你已经这样做了。

P.S。这一切都在Wordpress Codex中得到了很好的描述。