get_admin_url

The timeline below displays how wordpress function get_admin_url has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 5.8

/**
 * Retrieves the URL to the admin area for a given site.
 *
 * @since 3.0.0
 *
 * @param int|null $blog_id Optional. Site ID. Default null (current site).
 * @param string   $path    Optional. Path relative to the admin URL. Default empty.
 * @param string   $scheme  Optional. The scheme to use. Accepts 'http' or 'https',
 *                          to force those schemes. Default 'admin', which obeys
 *                          force_ssl_admin() and is_ssl().
 * @return string Admin URL link with optional path appended.
 */
function get_admin_url($blog_id = null, $path = '', $scheme = 'admin')
{
    $url = get_site_url($blog_id, 'wp-admin/', $scheme);
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    /**
     * Filters the admin area URL.
     *
     * @since 2.8.0
     * @since 5.8.0 The `$scheme` parameter was added.
     *
     * @param string      $url     The complete admin area URL including scheme and path.
     * @param string      $path    Path relative to the admin area URL. Blank string if no path is specified.
     * @param int|null    $blog_id Site ID, or null for the current site.
     * @param string|null $scheme  The scheme to use. Accepts 'http', 'https',
     *                             'admin', or null. Default 'admin', which obeys force_ssl_admin() and is_ssl().
     */
    return apply_filters('admin_url', $url, $path, $blog_id, $scheme);
}

WordPress Version: 5.7

/**
 * Retrieves the URL to the admin area for a given site.
 *
 * @since 3.0.0
 *
 * @param int|null $blog_id Optional. Site ID. Default null (current site).
 * @param string   $path    Optional. Path relative to the admin URL. Default empty.
 * @param string   $scheme  Optional. The scheme to use. Accepts 'http' or 'https',
 *                          to force those schemes. Default 'admin', which obeys
 *                          force_ssl_admin() and is_ssl().
 * @return string Admin URL link with optional path appended.
 */
function get_admin_url($blog_id = null, $path = '', $scheme = 'admin')
{
    $url = get_site_url($blog_id, 'wp-admin/', $scheme);
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    /**
     * Filters the admin area URL.
     *
     * @since 2.8.0
     *
     * @param string   $url     The complete admin area URL including scheme and path.
     * @param string   $path    Path relative to the admin area URL. Blank string if no path is specified.
     * @param int|null $blog_id Site ID, or null for the current site.
     */
    return apply_filters('admin_url', $url, $path, $blog_id);
}

WordPress Version: 4.6

/**
 * Retrieves the URL to the admin area for a given site.
 *
 * @since 3.0.0
 *
 * @param int    $blog_id Optional. Site ID. Default null (current site).
 * @param string $path    Optional. Path relative to the admin URL. Default empty.
 * @param string $scheme  Optional. The scheme to use. Accepts 'http' or 'https',
 *                        to force those schemes. Default 'admin', which obeys
 *                        force_ssl_admin() and is_ssl().
 * @return string Admin URL link with optional path appended.
 */
function get_admin_url($blog_id = null, $path = '', $scheme = 'admin')
{
    $url = get_site_url($blog_id, 'wp-admin/', $scheme);
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    /**
     * Filters the admin area URL.
     *
     * @since 2.8.0
     *
     * @param string   $url     The complete admin area URL including scheme and path.
     * @param string   $path    Path relative to the admin area URL. Blank string if no path is specified.
     * @param int|null $blog_id Site ID, or null for the current site.
     */
    return apply_filters('admin_url', $url, $path, $blog_id);
}

WordPress Version: 4.5

/**
 * Retrieves the url to the admin area for a given site.
 *
 * @since 3.0.0
 *
 * @param int    $blog_id Optional. Site ID. Default null (current site).
 * @param string $path    Optional. Path relative to the admin url. Default empty.
 * @param string $scheme  Optional. The scheme to use. Accepts 'http' or 'https',
 *                        to force those schemes. Default 'admin', which obeys
 *                        {@see force_ssl_admin()} and {@see is_ssl()}.
 * @return string Admin url link with optional path appended.
 */
function get_admin_url($blog_id = null, $path = '', $scheme = 'admin')
{
    $url = get_site_url($blog_id, 'wp-admin/', $scheme);
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    /**
     * Filter the admin area URL.
     *
     * @since 2.8.0
     *
     * @param string   $url     The complete admin area URL including scheme and path.
     * @param string   $path    Path relative to the admin area URL. Blank string if no path is specified.
     * @param int|null $blog_id Site ID, or null for the current site.
     */
    return apply_filters('admin_url', $url, $path, $blog_id);
}

WordPress Version: 4.1

/**
 * Retrieves the url to the admin area for a given site.
 *
 * @since 3.0.0
 *
 * @param int    $blog_id Optional. Blog ID. Default null (current site).
 * @param string $path    Optional. Path relative to the admin url. Default empty.
 * @param string $scheme  Optional. The scheme to use. Accepts 'http' or 'https',
 *                        to force those schemes. Default 'admin', which obeys
 *                        {@see force_ssl_admin()} and {@see is_ssl()}.
 * @return string Admin url link with optional path appended.
*/
function get_admin_url($blog_id = null, $path = '', $scheme = 'admin')
{
    $url = get_site_url($blog_id, 'wp-admin/', $scheme);
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    /**
     * Filter the admin area URL.
     *
     * @since 2.8.0
     *
     * @param string   $url     The complete admin area URL including scheme and path.
     * @param string   $path    Path relative to the admin area URL. Blank string if no path is specified.
     * @param int|null $blog_id Blog ID, or null for the current blog.
     */
    return apply_filters('admin_url', $url, $path, $blog_id);
}

WordPress Version: 3.9

/**
 * Retrieve the url to the admin area for a given site.
 *
 * @since 3.0.0
 *
 * @param int $blog_id (optional) Blog ID. Defaults to current blog.
 * @param string $path Optional path relative to the admin url.
 * @param string $scheme 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.
 * @return string Admin url link with optional path appended.
*/
function get_admin_url($blog_id = null, $path = '', $scheme = 'admin')
{
    $url = get_site_url($blog_id, 'wp-admin/', $scheme);
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    /**
     * Filter the admin area URL.
     *
     * @since 2.8.0
     *
     * @param string   $url     The complete admin area URL including scheme and path.
     * @param string   $path    Path relative to the admin area URL. Blank string if no path is specified.
     * @param int|null $blog_id Blog ID, or null for the current blog.
     */
    return apply_filters('admin_url', $url, $path, $blog_id);
}

WordPress Version: 3.7

/**
 * Retrieve the url to the admin area for a given site.
 *
 * @package WordPress
 * @since 3.0.0
 *
 * @param int $blog_id (optional) Blog ID. Defaults to current blog.
 * @param string $path Optional path relative to the admin url.
 * @param string $scheme 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.
 * @return string Admin url link with optional path appended.
*/
function get_admin_url($blog_id = null, $path = '', $scheme = 'admin')
{
    $url = get_site_url($blog_id, 'wp-admin/', $scheme);
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    return apply_filters('admin_url', $url, $path, $blog_id);
}