如何更改Wordpress管理员栏的我的帐户配置文件URL

时间:2019-07-03 00:47:28

标签: wordpress toolbar buddypress

我的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不太满意。

3 个答案:

答案 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用户个人资料