WordPressを読む 36-6 /blog/wp-includes/link-template.php 6
2014/12/18
目次
- 1 /blog/wp-includes/link-template.php 6
- 2 関数 get_shortcut_link()
- 3 関数 home_url()
- 4 関数 get_home_url()
- 5 関数 site_url()
- 6 関数 get_site_url()
- 7 関数 admin_url()
- 8 関数 get_admin_url()
- 9 関数 includes_url()
- 10 関数 content_url()
- 11 関数 plugins_url()
- 12 関数 network_site_url()
- 13 関数 network_home_url()
- 14 関数 network_admin_url()
- 15 関数 user_admin_url()
- 16 関数 self_admin_url()
- 17 関数 set_url_scheme()
/blog/wp-includes/link-template.php 6
関数 get_shortcut_link()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | /** * Retrieve the Press This bookmarklet link. * * Use this in 'a' element 'href' attribute. * * @since 2.6.0 * * @return string */ function get_shortcut_link() { // In case of breaking changes, version this. #WP20071 $link = "javascript: var d=document, w=window, e=w.getSelection, k=d.getSelection, x=d.selection, s=(e?e():(k)?k():(x?x.createRange().text:0)), f='" . admin_url('press-this.php') . "', l=d.location, e=encodeURIComponent, u=f+'?u='+e(l.href)+'&t='+e(d.title)+'&s='+e(s)+'&v=4'; a=function(){if(!w.open(u,'t','toolbar=0,resizable=1,scrollbars=1,status=1,width=720,height=570'))l.href=u;}; if (/Firefox/.test(navigator.userAgent)) setTimeout(a, 0); else a(); void(0)"; $link = str_replace(array("\r", "\n", "\t"), '', $link); /** * Filter the Press This bookmarklet link. * * @since 2.6.0 * * @param string $link The Press This bookmarklet link. */ return apply_filters( 'shortcut_link', $link ); } |
関数 home_url()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /** * Retrieve the home url for the current site. * * Returns the 'home' option with the appropriate protocol, 'https' if * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is * overridden. * * @since 3.0.0 * * @uses get_home_url() * * @param string $path (optional) Path relative to the home url. * @param string $scheme (optional) Scheme to give the home url context. Currently 'http', 'https', or 'relative'. * @return string Home url link with optional path appended. */ function home_url( $path = '', $scheme = null ) { return get_home_url( null, $path, $scheme ); } |
関数 get_home_url()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | /** * Retrieve the home url for a given site. * * Returns the 'home' option with the appropriate protocol, 'https' if * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is * overridden. * * @since 3.0.0 * * @param int $blog_id (optional) Blog ID. Defaults to current blog. * @param string $path (optional) Path relative to the home url. * @param string $scheme (optional) Scheme to give the home url context. Currently 'http', 'https', or 'relative'. * @return string Home url link with optional path appended. */ function get_home_url( $blog_id = null, $path = '', $scheme = null ) { $orig_scheme = $scheme; if ( empty( $blog_id ) || !is_multisite() ) { $url = get_option( 'home' ); } else { switch_to_blog( $blog_id ); $url = get_option( 'home' ); restore_current_blog(); } if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) { if ( is_ssl() && ! is_admin() && 'wp-login.php' !== $GLOBALS['pagenow'] ) $scheme = 'https'; else $scheme = parse_url( $url, PHP_URL_SCHEME ); } $url = set_url_scheme( $url, $scheme ); if ( $path && is_string( $path ) ) $url .= '/' . ltrim( $path, '/' ); /** * Filter the home URL. * * @since 3.0.0 * * @param string $url The complete home URL including scheme and path. * @param string $path Path relative to the home URL. Blank string if no path is specified. * @param string|null $orig_scheme Scheme to give the home URL context. Accepts 'http', 'https', 'relative' or null. * @param int|null $blog_id Blog ID, or null for the current blog. */ return apply_filters( 'home_url', $url, $path, $orig_scheme, $blog_id ); } |
関数 site_url()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /** * Retrieve the site url for the current site. * * Returns the 'site_url' option with the appropriate protocol, 'https' if * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is * overridden. * * @since 3.0.0 * * @uses get_site_url() * * @param string $path Optional. Path relative to the site url. * @param string $scheme Optional. Scheme to give the site url context. See set_url_scheme(). * @return string Site url link with optional path appended. */ function site_url( $path = '', $scheme = null ) { return get_site_url( null, $path, $scheme ); } |
関数 get_site_url()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | /** * Retrieve the site url for a given site. * * Returns the 'site_url' option with the appropriate protocol, 'https' if * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is * overridden. * * @since 3.0.0 * * @param int $blog_id (optional) Blog ID. Defaults to current blog. * @param string $path Optional. Path relative to the site url. * @param string $scheme Optional. Scheme to give the site url context. Currently 'http', 'https', 'login', 'login_post', 'admin', or 'relative'. * @return string Site url link with optional path appended. */ function get_site_url( $blog_id = null, $path = '', $scheme = null ) { if ( empty( $blog_id ) || !is_multisite() ) { $url = get_option( 'siteurl' ); } else { switch_to_blog( $blog_id ); $url = get_option( 'siteurl' ); restore_current_blog(); } $url = set_url_scheme( $url, $scheme ); if ( $path && is_string( $path ) ) $url .= '/' . ltrim( $path, '/' ); /** * Filter the site URL. * * @since 2.7.0 * * @param string $url The complete site URL including scheme and path. * @param string $path Path relative to the site URL. Blank string if no path is specified. * @param string|null $scheme Scheme to give the site URL context. Accepts 'http', 'https', 'login', * 'login_post', 'admin', 'relative' or null. * @param int|null $blog_id Blog ID, or null for the current blog. */ return apply_filters( 'site_url', $url, $path, $scheme, $blog_id ); } |
関数 admin_url()
1 2 3 4 5 6 7 8 9 10 11 12 | /** * Retrieve the url to the admin area for the current site. * * @since 2.6.0 * * @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 admin_url( $path = '', $scheme = 'admin' ) { return get_admin_url( null, $path, $scheme ); } |
関数 get_admin_url()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | /** * 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 ); } |
関数 includes_url()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | /** * Retrieve the url to the includes directory. * * @since 2.6.0 * * @param string $path Optional. Path relative to the includes url. * @param string $scheme Optional. Scheme to give the includes url context. * @return string Includes url link with optional path appended. */ function includes_url( $path = '', $scheme = null ) { $url = site_url( '/' . WPINC . '/', $scheme ); if ( $path && is_string( $path ) ) $url .= ltrim($path, '/'); /** * Filter the URL to the includes directory. * * @since 2.8.0 * * @param string $url The complete URL to the includes directory including scheme and path. * @param string $path Path relative to the URL to the wp-includes directory. Blank string * if no path is specified. */ return apply_filters( 'includes_url', $url, $path ); } |
関数 content_url()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | /** * Retrieve the url to the content directory. * * @since 2.6.0 * * @param string $path Optional. Path relative to the content url. * @return string Content url link with optional path appended. */ function content_url($path = '') { $url = set_url_scheme( WP_CONTENT_URL ); if ( $path && is_string( $path ) ) $url .= '/' . ltrim($path, '/'); /** * Filter the URL to the content directory. * * @since 2.8.0 * * @param string $url The complete URL to the content directory including scheme and path. * @param string $path Path relative to the URL to the content directory. Blank string * if no path is specified. */ return apply_filters( 'content_url', $url, $path); } |
関数 plugins_url()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | /** * Retrieve a URL within the plugins or mu-plugins directory. * * Defaults to the plugins directory URL if no arguments are supplied. * * @since 2.6.0 * * @param string $path Optional. Extra path appended to the end of the URL, including * the relative directory if $plugin is supplied. Default empty. * @param string $plugin Optional. A full path to a file inside a plugin or mu-plugin. * The URL will be relative to its directory. Default empty. * Typically this is done by passing `__FILE__` as the argument. * @return string Plugins URL link with optional paths appended. */ function plugins_url( $path = '', $plugin = '' ) { $path = wp_normalize_path( $path ); $plugin = wp_normalize_path( $plugin ); $mu_plugin_dir = wp_normalize_path( WPMU_PLUGIN_DIR ); if ( !empty($plugin) && 0 === strpos($plugin, $mu_plugin_dir) ) $url = WPMU_PLUGIN_URL; else $url = WP_PLUGIN_URL; $url = set_url_scheme( $url ); if ( !empty($plugin) && is_string($plugin) ) { $folder = dirname(plugin_basename($plugin)); if ( '.' != $folder ) $url .= '/' . ltrim($folder, '/'); } if ( $path && is_string( $path ) ) $url .= '/' . ltrim($path, '/'); /** * Filter the URL to the plugins directory. * * @since 2.8.0 * * @param string $url The complete URL to the plugins directory including scheme and path. * @param string $path Path relative to the URL to the plugins directory. Blank string * if no path is specified. * @param string $plugin The plugin file path to be relative to. Blank string if no plugin * is specified. */ return apply_filters( 'plugins_url', $url, $path, $plugin ); } |
関数 network_site_url()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | /** * Retrieve the site url for the current network. * * Returns the site url with the appropriate protocol, 'https' if * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is * overridden. * * @since 3.0.0 * * @param string $path Optional. Path relative to the site url. * @param string $scheme Optional. Scheme to give the site url context. See set_url_scheme(). * @return string Site url link with optional path appended. */ function network_site_url( $path = '', $scheme = null ) { if ( ! is_multisite() ) return site_url($path, $scheme); $current_site = get_current_site(); if ( 'relative' == $scheme ) $url = $current_site->path; else $url = set_url_scheme( 'http://' . $current_site->domain . $current_site->path, $scheme ); if ( $path && is_string( $path ) ) $url .= ltrim( $path, '/' ); /** * Filter the network site URL. * * @since 3.0.0 * * @param string $url The complete network site URL including scheme and path. * @param string $path Path relative to the network site URL. Blank string if * no path is specified. * @param string|null $scheme Scheme to give the URL context. Accepts 'http', 'https', * 'relative' or null. */ return apply_filters( 'network_site_url', $url, $path, $scheme ); } |
関数 network_home_url()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | /** * Retrieve the home url for the current network. * * Returns the home url with the appropriate protocol, 'https' if * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is * overridden. * * @since 3.0.0 * * @param string $path (optional) Path relative to the home url. * @param string $scheme (optional) Scheme to give the home url context. Currently 'http', 'https', or 'relative'. * @return string Home url link with optional path appended. */ function network_home_url( $path = '', $scheme = null ) { if ( ! is_multisite() ) return home_url($path, $scheme); $current_site = get_current_site(); $orig_scheme = $scheme; if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) $scheme = is_ssl() && ! is_admin() ? 'https' : 'http'; if ( 'relative' == $scheme ) $url = $current_site->path; else $url = set_url_scheme( 'http://' . $current_site->domain . $current_site->path, $scheme ); if ( $path && is_string( $path ) ) $url .= ltrim( $path, '/' ); /** * Filter the network home URL. * * @since 3.0.0 * * @param string $url The complete network home URL including scheme and path. * @param string $path Path relative to the network home URL. Blank string * if no path is specified. * @param string|null $orig_scheme Scheme to give the URL context. Accepts 'http', 'https', * 'relative' or null. */ return apply_filters( 'network_home_url', $url, $path, $orig_scheme); } |
関数 network_admin_url()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | /** * Retrieve the url to the admin area for the network. * * @since 3.0.0 * * @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 network_admin_url( $path = '', $scheme = 'admin' ) { if ( ! is_multisite() ) return admin_url( $path, $scheme ); $url = network_site_url('wp-admin/network/', $scheme); if ( $path && is_string( $path ) ) $url .= ltrim($path, '/'); /** * Filter the network admin URL. * * @since 3.0.0 * * @param string $url The complete network admin URL including scheme and path. * @param string $path Path relative to the network admin URL. Blank string if * no path is specified. */ return apply_filters( 'network_admin_url', $url, $path ); } |
関数 user_admin_url()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | /** * Retrieve the url to the admin area for the current user. * * @since 3.0.0 * * @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 user_admin_url( $path = '', $scheme = 'admin' ) { $url = network_site_url('wp-admin/user/', $scheme); if ( $path && is_string( $path ) ) $url .= ltrim($path, '/'); /** * Filter the user admin URL for the current user. * * @since 3.1.0 * * @param string $url The complete URL including scheme and path. * @param string $path Path relative to the URL. Blank string if * no path is specified. */ return apply_filters( 'user_admin_url', $url, $path ); } |
関数 self_admin_url()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | /** * Retrieve the url to the admin area for either the current blog or the network depending on context. * * @since 3.1.0 * * @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 self_admin_url($path = '', $scheme = 'admin') { if ( is_network_admin() ) return network_admin_url($path, $scheme); elseif ( is_user_admin() ) return user_admin_url($path, $scheme); else return admin_url($path, $scheme); } |
関数 set_url_scheme()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | /** * Set the scheme for a URL * * @since 3.4.0 * * @param string $url Absolute url that includes a scheme * @param string $scheme Optional. Scheme to give $url. Currently 'http', 'https', 'login', 'login_post', 'admin', or 'relative'. * @return string $url URL with chosen scheme. */ function set_url_scheme( $url, $scheme = null ) { $orig_scheme = $scheme; if ( ! $scheme ) { $scheme = is_ssl() ? 'https' : 'http'; } elseif ( $scheme === 'admin' || $scheme === 'login' || $scheme === 'login_post' || $scheme === 'rpc' ) { $scheme = is_ssl() || force_ssl_admin() ? 'https' : 'http'; } elseif ( $scheme !== 'http' && $scheme !== 'https' && $scheme !== 'relative' ) { $scheme = is_ssl() ? 'https' : 'http'; } $url = trim( $url ); if ( substr( $url, 0, 2 ) === '//' ) $url = 'http:' . $url; if ( 'relative' == $scheme ) { $url = ltrim( preg_replace( '#^\w+://[^/]*#', '', $url ) ); if ( $url !== '' && $url[0] === '/' ) $url = '/' . ltrim($url , "/ \t\n\r\0\x0B" ); } else { $url = preg_replace( '#^\w+://#', $scheme . '://', $url ); } /** * Filter the resulting URL after setting the scheme. * * @since 3.4.0 * * @param string $url The complete URL including scheme and path. * @param string $scheme Scheme applied to the URL. One of 'http', 'https', or 'relative'. * @param string $orig_scheme Scheme requested for the URL. One of 'http', 'https', 'login', * 'login_post', 'admin', 'rpc', or 'relative'. */ return apply_filters( 'set_url_scheme', $url, $scheme, $orig_scheme ); } |