Skip to content

mindkomm/theme-lib-links

Repository files navigation

Links

Collection of link helper functions for WordPress themes.

Installation

You can install the package via Composer:

composer require mindkomm/theme-lib-links

Functions

Name Summary Type Returns/Description
get_link_attributes Gets href attribute for a link tag with proper target and rel attributes. string or bool An href attribute with target and rel attributes, when necessary. Returns false if input is empty.
is_external_url Checks if a URL is external or internal. bool Whether the URL is external.
make_anchor_link Converts an URL to an anchor link. string The updated URL.
url_to_domain Converts an URL to just the domain name together with the TLD. string The domain part of the URL.

make_anchor_link

Converts an URL to an anchor link.

Prefix the last segment of a URL with a # to use it as an anchor link.

make_anchor_link( string $url )

Returns: string The updated URL.

Name Type Description
$url string URL to turn into an anchor link.

PHP

// Output: https://www.mind.ch/onepager#subsection
echo make_anchor_link( 'https://www.mind.ch/onepager/subsection' );

is_external_url

Checks if a URL is external or internal.

is_external_url( string $url )

Returns: bool Whether the URL is external.

Name Type Description
$url string URL to be parsed.

PHP

if ( is_external_url( 'https://example.org' ) ) {
    // Do something
}

Twig

{% if is_external_url('https://www.example.org') %}
    {# Do something #}
{% endif %}

url_to_domain

Converts an URL to just the domain name together with the TLD.

url_to_domain( string $url, bool $strip_www = false, int|bool $limit = false )

Returns: string The domain part of the URL.

Name Type Description
$url string The URL to convert.
$strip_www bool Optional. Whether to strip the "www" part of the domain. Default false.
$limit int|bool Optional. Limit to a certain amount of characters. Default false.

PHP

<?php $domain = 'https://www.mind.ch/post/blablabla?param=wow'; ?>
<a href="<?php echo $url; ?>"><?php echo url_to_domain( $domain ); ?></a>

Twig

{# url = 'https://www.mind.ch/post/blablabla?param=wow' #}
<a href="{{ url }}">{{ url_to_domain(url) }}</a>

get_link_attributes

Gets href attribute for a link tag with proper target and rel attributes.

Checks if the URL is internal or external. Adds a target="_blank" for external urls. Inspired by http://stackoverflow.com/a/25090564/1059980. To catch a security vulnerability, the attribute rel="noopener noreferrer" is added, see https://mathiasbynens.github.io/rel-noopener/ for more info.

get_link_attributes( string $url )

Returns: string|bool An href attribute with target and rel attributes, when necessary. Returns false if input is empty.

Name Type Description
$url string URL to be parsed.

PHP

<a <?php echo get_link_attributes( 'https://www.mind.ch/blog' ); ?>>MIND Blog</a>

Twig

<a {{ get_link_attributes(url) }}>MIND Blog</a>

Twig functions

You need Timber to use these functions.

Support

This is a library that we use at MIND to develop WordPress themes. You’re free to use it, but currently, we don’t provide any support.

About

Collection of link helper functions for WordPress themes

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages