我使用的是BuddyPress,需要特定的代码块才能显示在用户角色商店所有者配置文件中。我将把它放在member\\u标题中。php,所以它只是一个模板文件。
我已经挖了很长一段时间了,但似乎还没弄明白。我找到了一种针对当前用户角色的方法,但这使得它显示在每个人的个人资料中,作为店主用户角色的用户。
我知道我需要一个条件,但我似乎找不到正确的条件。。。不知怎么的,我错过了什么吗?
非常感谢!!
Edit:好的,所以我一直在闲逛,然后开始做一些不同的事情。。。我仍然需要类似的帮助,只是在一个稍微不同和不太灵活的环境中。
我改变了主意,将这段代码完全移动到一个单独的配置文件页面。我在配置文件菜单中创建并链接了页面。因此,我需要的条件是根据正在查看的配置文件的用户角色显示此菜单项。
以下是在每个用户页面上都能正常工作并显示的代码:
// Set up Custom BP navigation
function my_setup_nav() {
global $bp;
bp_core_new_nav_item( array(
\'name\' => __( \'Calendar\', \'buddypress\' ),
\'slug\' => \'calendar\',
\'position\' => 20,
\'screen_function\' => \'calendar_template\'
) );
// Change the order of menu items
$bp->bp_nav[\'messages\'][\'position\'] = 100;
}
add_action( \'bp_setup_nav\', \'my_setup_nav\' );
这是我一直在玩的代码,但它会导致菜单项在任何地方都不显示。
// Set up Custom BP navigation
function my_setup_nav() {
if(user_can($user->ID, "store_owner")) {
global $bp;
bp_core_new_nav_item( array(
\'name\' => __( \'Calendar\', \'buddypress\' ),
\'slug\' => \'calendar\',
\'position\' => 20,
\'screen_function\' => \'calendar_template\'
) );
// Change the order of menu items
$bp->bp_nav[\'messages\'][\'position\'] = 100;
}
}
add_action( \'bp_setup_nav\', \'my_setup_nav\' );
我的网站是:
http://www.pureplayhaven.com 用户“sample”是“Store Owner”用户。
非常感谢!!