BuddyPress的条件活动页面

时间:2016-05-11 作者:philb

非常抱歉,标题含糊不清,我不知道如何描述我想要的。

一般要点。。。。。

我在一个网站上安装了BuddyPress和BBPress,我正在尝试稍微改变一下成员页面。

我有一个显示我的论坛索引的页面,当用户转到自己的个人资料时,默认视图是我的论坛页面。我这样做是因为对于不懂网站的用户来说,浏览论坛可能有点乏味。我只是想马上给他们论坛。

我通过定义一个自定义slug,并按照他们网站上的指示更改BuddyPress DEFAULT\\u组件来实现这一点。

我现在遇到的问题是,当我单击另一个成员配置文件时,它会显示论坛索引。我想做的是,当一个成员单击另一个成员的配置文件时,它默认为他们的活动或配置文件页面。如果该成员自己点击,他们会看到所有论坛。

我有这样的东西

function lg_pick_menu ()
{
    if (! bp_logged_in_user() ) 
    {
        define ( "BP_DEFAULT_COMPONENT", "social");
        //$user = bp_is_user();
        //echo $user;
    }

    else 
    {
        define ( "BP_DEFAULT_COMPONENT", "profile");
    }

}
注释的行(6和7)仅用于我自己的测试,不做任何类似的事情。

不幸的是,我不是php魔术师,BuddyPress文档非常模糊。有人能帮忙吗?或者至少给我指出正确的方向?如果我能破解这个,那么我就可以继续使用网站的其余部分!

非常感谢,

菲尔

1 个回复
SO网友:shanebp

听起来你在用bp_has_members 在某个页面上循环。我认为你不能改变define 在循环中。

在那个循环中,你有这个代码吗?

<a href="<?php bp_member_permalink(); ?>"><?php bp_member_avatar(); ?></a>
和/或:

<a href="<?php bp_member_permalink(); ?>"><?php bp_member_name(); ?></a>
然后你可以这样做:

<?php if ( bp_get_member_user_id() == bp_loggedin_user_id() ) : ?>

     <a href="<?php bp_member_permalink() . \'activity\'; ?>"><?php bp_member_name(); ?></a>

<?php else : ?>

     <a href="<?php bp_member_permalink(); ?>"><?php bp_member_name(); ?></a>

<?php endif; ?>

相关推荐

BuddyPress返回错误的xprofile日期

一切正常,但突然间BuddyPress xprofiledate 字段之前给出一个日期。然而,我已经检查了数据库,输入是正确的。它只是返回了错误的日期。这意味着,如果我将日期设置为1920-12-12,它将存储正确的(相同),但返回1920-12-11。我使用以下BuddyPress函数获取日期。// tried by field id bp_get_profile_field_data([ \'field\' => 5, \'user_id\' =>