我的wordpress管理栏“我的帐户”链接将用户带到后端以管理其个人资料等。该菜单上还有buddypress链接,可将用户带到前端来管理其个人资料。我喜欢带有“ Howdy”的头像,但我不想让用户在后面 结束;所以我需要更改WP链接以将其带到前端。
我找到了如何删除链接并将链接添加到“我的帐户”管理栏的方法,但我只想将这些顶部链接的URL从/ wp-admin / profile更改为/members/user/profile。
admin-bar.php / ** *添加“我的帐户”项。 * * @自3.3.0起 * * @参数WP_Admin_Bar $ wp_admin_bar * /
if ( current_user_can( 'read' ) ) {
$profile_url = get_edit_profile_url( $user_id );
将“ get_edit_profile_url”从wordpress管理员url更改为buddypress成员url是实现目标的最简单方法吗? ...我该怎么做才能对其进行测试?
感谢任何可以帮助我的人,我对php不太满意。
答案 0 :(得分:0)
我找不到更改URL的任何帮助,但是函数文件中的此重定向使用户始终处于前端。 感谢:http://blog.happyplugins.com/redirect-user-profile-page-frontend-page/
add_action ('init' , 'prevent_profile_access');
function prevent_profile_access() {
if (current_user_can('manage_options')) return '';
if (strpos ($_SERVER ['REQUEST_URI'] , 'wp-admin/profile.php' )){
wp_redirect ('/members/' .bp_core_get_username(bp_loggedin_user_id() ));
die();
}
}
如果有人知道的话,我仍然想知道如何更改URL而不是使用重定向!
答案 1 :(得分:0)
bp_core_get_userlink( $user_id )
答案 2 :(得分:0)
add_action('wp_before_admin_bar_render', 'rew_admin_bar_remove_wp_profile', 0);
function rew_admin_bar_remove_wp_profile() {
global $wp_admin_bar;
$wp_admin_bar->remove_menu('edit-profile');
}
add_action('admin_bar_menu', 'rew_add_bbp_profile', 999);
function rew_add_bbp_profile($wp_admin_bar) {
$current_user = wp_get_current_user() ;
$user=$current_user->user_nicename ;
$user_slug = get_option( '_bbp_user_slug' ) ;
if (get_option( '_bbp_include_root' ) == true ) {
$forum_slug = get_option( '_bbp_root_slug' ) ;
$slug = $forum_slug.'/'.$user_slug.'/' ;
}
else {
$slug=$user_slug . '/' ;
}
$profilelink = '/' .$slug. $user . '/edit' ;
$wp_admin_bar->add_node( array(
'parent' => 'user-actions',
'id' => 'bbp-edit-profile',
'title' => 'Edit Profile',
'href' => $profilelink,
) );
}
让您进入bbpress用户个人资料