Skip to content

alwaysblank/plumbing-normalize-links

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Normalize Links

Build Status

The purpose of this small package is to ingest the link arrays produced by ACF’s "link" field type, do a bit of logic on them, and provide a nice interface for interacting with that data. It can also accept urls as plain strings.

Usage

ACF field
$Link = new Normalized(get_field('some_link'));

$Link->valid(); //whether or not this is a "valid" link
$Link->url(); // the URL of the link
$Link->label(); // the "title" set for this link
$Link->newTab(); // whether this link should be opened in a new tab
$Link->probablyExternal() // if the link is (probably) external or not
Simple string
$Link = new Normalized('https://www.alwaysblank.org');

Settings

A small number of settings are also supported, which can be passed when instantiated.

$Link = new Normalized(get_field('some_link'), [
    'label' => "Learn More", // Used as a fallback if there is no `title.`
    'external_in_new_tab' => true, // Always open external links in new tab
    'validate' => [
        'url' => false,
        'label' => false,
    ], // Validate url and/or label
]);

label defaults to "Learn More" and external_in_new_tab defaults to true. validate defaults to not validating inputs. You can specify which items (url or label) to validated, or set validate to true to validate all items.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages