This component is a part of the Olympus Dionysos fields for WordPress. It uses the default
wpLink
WordPress javascript bundle to manage field.
composer require getolympus/olympus-dionysos-field-link
Field initialization • Variables definition • Texts definition • Retrive data • Release History • Contributing
Use the following lines to add a link field
in your WordPress admin pages or custom post type meta fields:
return \GetOlympus\Dionysos\Field\Link::build('my_link_field_id', [
'title' => 'Never gonna give you up!',
'default' => [
[
'url' => 'https://www.youtube.com/watch?v=oVTPg9iicy4',
'label' => 'Never gonna get you down!',
'target' => '_blank',
],
],
'description' => 'You\'ve been Rick rolled!',
'multiple' => false,
/**
* Texts definition
* @see the `Texts definition` section below
*/
't_addblock_title' => 'Click on the edit button',
't_addblock_description' => 'Click on the "+" button to add your link.',
't_addblocks_description' => 'Click on the "+" button to add a link item.',
't_addblock_label' => 'Add',
't_editblock_label' => 'Edit',
't_removeblock_label' => 'Remove',
]);
Variable | Type | Default value if not set | Accepted values |
---|---|---|---|
title |
String | 'Hypertext link' |
empty |
default |
Array | empty | empty |
description |
String | empty | empty |
multiple |
Boolean | false |
true or false |
Notes:
- Set
multiple
totrue
to enable the "Add link" button
Code | Default value | Definition |
---|---|---|
t_addblock_title |
Click on the edit button | Message displayed on an item without link |
t_addblock_description |
Click on the "+" button to add your link. | Main helper to add a single item box |
t_addblocks_description |
Click on the "+" button to add a link item. | Main helper to add multiple items boxes |
t_addblock_label |
Add | Used as an Add button area title |
t_editblock_label |
Edit | Used as an Edit button area title |
t_removeblock_label |
Remove | Used as a Remove button area title |
Retrieve your value from Database with a simple get_option('my_link_field_id', [])
(see WordPress reference).
Below, a json_encode()
example to understand how data are stored in Database:
{
"1": {
"url": "https://www.google.com",
"label": "Google.com",
"target": "_self"
},
"2": {
"url": "https://www.yahoo.com",
"label": "Yahoo.com",
"target": "_blank"
}
}
And below, a simple example to show how to iterate on the data array in PHP
:
// Get links from Database
$links = get_option('my_link_field_id', []);
// Check if links are empty
if (!empty($links)) {
// Build HTML list
echo '<ul>';
foreach ($links as $link) {
// Build HTML items
echo '<li>';
echo '<a href="'.$link['url'].'" target="'.$link['target'].'" title="'.esc_html($link['label']).'">';
echo $link['label'];
echo '</a>';
echo '</li>';
}
echo '</ul>';
}
Version | Note |
---|---|
0.0.22 | Add editor's button stylesheet and wp-util javascript Update README |
0.0.21 | JS compatibility |
0.0.20 | Fix display with new remove icon |
- Fork it (https://github.com/GetOlympus/olympus-dionysos-field-link/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
Built with ♥ by Achraf Chouk ~ (c) since a long time.