Add admin bar link to edit author

You could try this modification of your code:

function add_author_edit_link( $wp_admin_bar )
{
    if ( is_author() && current_user_can( 'add_users' ) )
    {
        $args = array(
           'id'    => 'author-edit',
           'title' => __( 'Edit Author' ),
           'href'  => admin_url( sprintf( 
               'user-edit.php?user_id=%d',
               get_queried_object_id() 
           ) )
        );
        $wp_admin_bar->add_node($args);
  } 
}

add_action( 'admin_bar_menu', 'add_author_edit_link', 99 );

where we use the get_queried_object_id() function to get the author id.

Notice that you can use the admin_url() to get the url to the backend.

I use is_author() here instead of is_page_template( 'author.php' ).

This Edit Author link might not be relevant for users that can’t modify other users, so I added the current_user_can( 'add_users' ) check. I couldn’t find the edit_users capability so I used add_users instead.

Leave a Comment