admin_url( string $path = , string $scheme = ‘admin’ ): string

Retrieves the URL to the admin area for the current site.

Parameters

$pathstringoptional
Path relative to the admin URL.

Default:''

$schemestringoptional
The scheme to use. Default is 'admin', which obeys force_ssl_admin() and is_ssl() .
'http' or 'https' can be passed to force those schemes.

Default:'admin'

Return

string Admin URL link with optional path appended.

Source

function admin_url( $path = '', $scheme = 'admin' ) {
	return get_admin_url( null, $path, $scheme );
}

Changelog

VersionDescription
2.6.0Introduced.

User Contributed Notes

  1. Skip to note 7 content

    Examples

    <?php echo admin_url(); ?>

    Output: http://example.com/wp-admin/ (or https protocol when appropriate)

    // Generate URL to admin's "Categories" page, and force https
    <?php echo admin_url( 'edit-tags.php?taxonomy=category', 'https' ); ?>

    Output: https://example.com/wp-admin/edit-tags.php?taxonomy=category

  2. Skip to note 8 content

    If you are looking for the post edit url for admin end and you have the post id (suppose $post_id) with you, then you can use the following code for getting the url.

    $post_id = 1731; // For example
    $post_url = add_query_arg( array( 
    	'post' => $post_id, 
    	'action' => 'edit', 
    ), admin_url( 'post.php' ) );
    
    // returns http://example.com/wp-admin/post.php?post=1731&action=edit
  3. Skip to note 10 content

    The presence of a leading slash in the path doesn’t affect the output, as it will be internally removed. Thus, both calls to admin_url() will yield the same result:

    admin_url( 'test' );  // returns http://example.com/wp-admin/test
    admin_url( '/test' ); // returns http://example.com/wp-admin/test
  4. Skip to note 11 content

    Logout Users based on specific capabilities and role

    if ( ! current_user_can( 'edit_posts' ) && ! is_admin() ) {
    	$redirect_url = site_url();
    } else {
    	$redirect_url = '/wp-login.php';
    }
    
    function wpdocs_redirect_after_logout() {
    	global $redirect_url;
    
    	wp_safe_redirect( $redirect_url );
    
    	exit;
    }
    add_action( 'wp_logout', 'wpdocs_redirect_after_logout' );

You must log in before being able to contribute a note or feedback.