Timber\URLHelper
Overview #
Methods #
Name | Return Type | Summary/Returns |
---|---|---|
file_system_to_url() | string | Translates a filesystem path to a URL Returns: The URL derived from the filesystem path |
get_content_subdir() | string | Get the path to the content directory relative to the site. Returns: (ex: /wp-content or /content) |
get_current_url() | string | Get the current URL of the page |
get_full_path() | string | |
get_host() | string | Some setups like HTTP_HOST, some like SERVER_NAME, it's complicated Returns: the HTTP_HOST or SERVER_NAME |
get_params() | array or string or false | Returns the url path parameters, or a single parameter if given an index. |
get_path_base() | string | |
get_rel_path() | string | |
get_rel_url() | string | |
get_scheme() | string | Get url scheme |
is_external() | bool | Checks whether a URL or domain is external. |
is_external_content() | bool | This function is slightly different from the one below in the case of: an image hosted on the same domain BUT on a different site than the WordPress install will be reported as external content. Returns: if $url points to an external location returns true |
is_local() | bool | Checks whether a URL or domain is local. |
is_url() | bool | |
prepend_to_url() | string | Add something to the start of the path in an URL Returns: the result (ex 'https://nytimes.com/2017/news/article.html') |
preslashit() | string | Add slash (if not already present) to a path |
remove_double_slashes() | string | Look for accidental slashes in a URL and remove them Returns: the result (ex: https://nytimes.com/news/article.html) |
remove_trailing_slash() | string | Pass links through untrailingslashit unless they are a single / |
remove_url_component() | string | Removes the subcomponent of a URL regardless of protocol |
starts_with() | bool | Check to see if the URL begins with the string in question Because it's a URL we don't care about protocol (HTTP vs HTTPS) Or case (so it's cAsE iNsEnSiTiVe) |
swap_protocol() | string | Swaps whatever protocol of a URL is sent. http becomes https and vice versa Returns: ex: https://example.org/wp-content/uploads/dog.jpg |
unpreslashit() | string | Remove slashes (if found) from a path |
url_to_file_system() | string | Translates a URL to a filesystem path Returns: The filesystem path derived from the URL |
user_trailingslashit() | string | Pass links through user_trailingslashit handling query strings properly |
Class Methods #
file_system_to_url() #
Translates a filesystem path to a URL
Takes a filesystem path and figures out its URL location.
file_system_to_url( string $fs )
Returns: string
The URL derived from the filesystem path
Name | Type | Description |
---|---|---|
$fs | string | The filesystem path to translate to a URL |
get_content_subdir() #
Get the path to the content directory relative to the site.
This replaces the WP_CONTENT_SUBDIR constant
Returns: string
(ex: /wp-content or /content)
get_current_url() #
Get the current URL of the page
Returns: string
get_full_path() #
get_full_path( string $src )
Returns: string
Name | Type | Description |
---|---|---|
$src | string |
get_host() #
Some setups like HTTP_HOST, some like SERVER_NAME, it's complicated
link https://stackoverflow.com/questions/2297403/http-host-vs-server-name
Returns: string
the HTTP_HOST or SERVER_NAME
get_params() #
Returns the url path parameters, or a single parameter if given an index.
Returns false if given a non-existent index.
get_params( bool|int $i = false )
Returns: array|string|false
Name | Type | Description |
---|---|---|
$i | bool or int | the position of the parameter to grab. |
PHP
// Given a $_SERVER["REQUEST_URI"] of:
// https://example.org/blog/post/news/2014/whatever
$params = URLHelper::get_params();
// => ["blog", "post", "news", "2014", "whatever"]
$third = URLHelper::get_params(2);
// => "news"
// get_params() supports negative indices:
$last = URLHelper::get_params(-1);
// => "whatever"
$nada = URLHelper::get_params(99);
// => false
get_path_base() #
Returns: string
get_rel_path() #
get_rel_path( string $src )
Returns: string
Name | Type | Description |
---|---|---|
$src | string |
get_rel_url() #
get_rel_url( string $url, bool $force = false )
Returns: string
Name | Type | Description |
---|---|---|
$url | string | |
$force | bool |
get_scheme() #
Get url scheme
Returns: string
is_external() #
Checks whether a URL or domain is external.
True if the $url
host name does not match the server’s host name. Otherwise, false.
is_external( string $url )
Returns: bool
Name | Type | Description |
---|---|---|
$url | string | URL to evaluate. |
is_external_content() #
This function is slightly different from the one below in the case of: an image hosted on the same domain BUT on a different site than the WordPress install will be reported as external content.
is_external_content( string $url )
Returns: bool
if $url points to an external location returns true
Name | Type | Description |
---|---|---|
$url | string | a URL to evaluate against |
is_local() #
Checks whether a URL or domain is local.
True if $url
has a host name matching the server’s host name. False if a relative URL or if it’s a subdomain.
is_local( string $url )
Returns: bool
Name | Type | Description |
---|---|---|
$url | string | URL to check. |
is_url() #
is_url( string $url )
Returns: bool
Name | Type | Description |
---|---|---|
$url | string |
prepend_to_url() #
Add something to the start of the path in an URL
prepend_to_url( string $url, string $path )
Returns: string
the result (ex 'https://nytimes.com/2017/news/article.html')
Name | Type | Description |
---|---|---|
$url | string | a URL that you want to manipulate (ex: 'https://nytimes.com/news/article.html'). |
$path | string | the path you want to insert ('/2017'). |
preslashit() #
Add slash (if not already present) to a path
preslashit( string $path )
Returns: string
Name | Type | Description |
---|---|---|
$path | string | to process. |
remove_double_slashes() #
Look for accidental slashes in a URL and remove them
remove_double_slashes( string $url )
Returns: string
the result (ex: https://nytimes.com/news/article.html)
Name | Type | Description |
---|---|---|
$url | string | to process (ex: https://nytimes.com//news/article.html) |
remove_trailing_slash() #
Pass links through untrailingslashit unless they are a single /
remove_trailing_slash( string $link )
Returns: string
Name | Type | Description |
---|---|---|
$link | string | the URL to process. |
remove_url_component() #
Removes the subcomponent of a URL regardless of protocol
since 1.3.3
remove_url_component( string $haystack, string $needle )
Returns: string
Name | Type | Description |
---|---|---|
$haystack | string | ex: https://example.org/wp-content/uploads/dog.jpg |
$needle | string | ex: https://example.org/wp-content |
starts_with() #
Check to see if the URL begins with the string in question Because it's a URL we don't care about protocol (HTTP vs HTTPS) Or case (so it's cAsE iNsEnSiTiVe)
starts_with( mixed $haystack, mixed $starts_with )
Returns: bool
swap_protocol() #
Swaps whatever protocol of a URL is sent. http becomes https and vice versa
since 1.3.3
swap_protocol( string $url )
Returns: string
ex: https://example.org/wp-content/uploads/dog.jpg
Name | Type | Description |
---|---|---|
$url | string | ex: https://example.org/wp-content/uploads/dog.jpg. |
unpreslashit() #
Remove slashes (if found) from a path
unpreslashit( string $path )
Returns: string
Name | Type | Description |
---|---|---|
$path | string | to process. |
url_to_file_system() #
Translates a URL to a filesystem path
Takes a url and figures out its filesystem location.
NOTE: Not fool-proof, makes a lot of assumptions about the file path matching the URL path
url_to_file_system( string $url )
Returns: string
The filesystem path derived from the URL
Name | Type | Description |
---|---|---|
$url | string | The URL to translate to a filesystem path |
user_trailingslashit() #
Pass links through user_trailingslashit handling query strings properly
user_trailingslashit( string $link )
Returns: string
Name | Type | Description |
---|---|---|
$link | string | the URL to process. |