BuddyPress添加导航项目并调用自定义字段

时间:2012-04-10 作者:Sam

function my_bp_nav_adder() 
{ 
bp_core_new_nav_item( 
array( 
    \'name\' => __(\'information\', \'buddypress\'), 
    \'slug\' => \'info\', 
    \'position\' => 15, 
    \'show_for_displayed_user\' => true, 
    \'screen_function\' => \'all_conversations_link\', 
    \'default_subnav_slug\' => \'testing\', 
    \'item_css_id\' => \'all-conversations\' 
)); 
} 
// Load a page template for your custom item. You\'ll need to have an item-one-   template.php and item-two-template.php in your theme root.
function all_conversations_link () {

}

add_action( \'bp_setup_nav\', \'my_bp_nav_adder\' ); 
我试图在我刚刚创建的名为“信息”的选项卡中显示一些自定义字段的值。我已经创建了名为location的自定义配置文件字段。使用此代码获取值

<?php

//code inside the directory loop

$location= xprofile_get_field_data( "Contact Person" ,bp_get_member_user_id());//fetch  the text for location
echo " $location ";

?>
然而,我认为这是一个破碎的页面。我确实得到了输出,但它显示在页面顶部。如何正确设置这些值的格式,使其符合线条和剖面

1 个回复
最合适的回答,由SO网友:Boone Gorges 整理而成

问题是您没有指定BuddyPress应该使用哪个模板来显示您的内容。有几种方法可以做到这一点(请参见https://github.com/boonebgorges/buddypress-skeleton-component/blob/master/includes/bp-example-screens.php 但我建议如下

// This is the screen_function called in bp_core_new_nav_item()
function all_conversations_link() {
    add_action( \'bp_template_content\', \'all_conversations_content\' );
    bp_core_load_template( \'members/single/plugins\' );
}

// This is the function that actually contains your content
function all_conversations_content() {
    $location= xprofile_get_field_data( "Contact Person" , bp_get_member_user_id());//fetch  the text for location
    echo " $location ";
}    

结束

相关推荐

BuddyPress页面的条件模板标记

我试图只为buddypress页面(活动、成员、个人资料…)分配一个特殊模板。所有其他帖子/页面使用不同的模板。问题是:我找不到一个好方法来判断一个页面是由buddypress“呈现”的还是由wp“核心”的。我查看了bp codex,找到了模板标记bp\\u is\\u member()和其他标记,但没有找到整体方法。是否有我可以使用的挂钩或其他我找不到的模板标记?我不想只定制侧边栏,所以有条件的小部件插件无法完成这项工作。感谢您的帮助