我正在使用一个社交媒体网站。
我创建了一个名为"关于"的xprofile字段,并使用以下代码在buddypress页面中添加了一个新标签。
function custom_setup_nav() {
global $bp;
bp_core_new_nav_item( array(
'name' => __( 'About', 'buddypress' ),
'slug' => 'about',
'position' => 30,
'screen_function' => 'about_page'
) );
}
add_action( 'bp_setup_nav', 'custom_setup_nav' );
现在我创建了一个about页面并将其命名为about.php并将其上传到/ plugins / buddypress / bp-themes / bp-default / members / single
然后添加以下屏幕功能
function about_page() {
bp_core_load_template( apply_filters( 'bp_core_template_plugin', 'members/single/about' ) );
}
现在,当我转到页面时,我总是会在那里显示成员页面,显示成员列表的页面,而不是我上传的自定义about.php页面,尽管网址保持不变,成员/用户名/约/
我有什么遗漏的吗?
感谢。
答案 0 :(得分:2)
我认为你可能需要一个 subnav 项。尝试将custom_setup_nav
功能更改为:
global $bp;
bp_core_new_nav_item(
array( 'name' => __( 'About', 'buddypress' ),
'slug' => 'about',
'position' => 30,
'show_for_displayed_user' => true,
'default_subnav_slug' => 'about',
'item_css_id' => 'about'
)
);
bp_core_new_subnav_item(
array( 'name' => __( 'About', 'buddypress' ),
'slug' => 'about',
'parent_url' => $bp->loggedin_user->domain . 'about',
'screen_function' => 'about_page',
'parent_slug' => 'about',
'position' => 10,
'item_css_id' => 'about'
)
);
另外,尝试在主题目录中创建一个名为/buddypress/
的文件夹,然后使用路径:
/buddypress/members/single/about
这将确保每次升级BP时您的自定义都不会丢失。有关模板层次结构的更多信息,请参见此处:http://codex.buddypress.org/themes/theme-compatibility-1-7/template-hierarchy/