, (*1)
Dionysos Select Field
![CodeFactor Grade][codefactor-image]
![MIT][license-image], (*2)
This component is a part of the Olympus Dionysos fields for WordPress.
It uses the default WordPress select or multiselect field., (*3)
composer require getolympus/olympus-dionysos-field-select
Table of contents
Field initialization • Variables definition • Texts definition • Retrive data • Release history • Contributing, (*4)
Field initialization
Use the following lines to add a select field
in your WordPress admin pages or custom post type meta fields:, (*5)
// Uniq choice version
return \GetOlympus\Dionysos\Field\Select::build('my_select_field_id', [
'title' => 'Select a Minion that you may know',
'default' => 'kevin',
'description' => 'A very important question! Pay attention to it ;)',
'multiple' => false,
'options' => [
'kevin' => 'Kevin',
'mel' => 'Mel',
'dave' => 'Dave',
'bob' => 'Bob',
],
/**
* Texts definition
* @see the `Texts definition` section below
*/
't_keyboard' => 'Press the <kbd>CTRL</kbd> or <kbd>CMD</kbd> button to select more than one option.',
't_no_options' => 'The field does no have any options.',
]);
// Multiple choice version
return \GetOlympus\Dionysos\Field\Select::build('my_multiselect_field_id', [
'title' => 'What are your preferred personas?',
'default' => ['minions', 'lapinscretins'],
'description' => 'The White House needs your feedback asap!',
'multiple' => true,
'options' => [
'minions' => 'The Minions',
'lapinscretins' => 'The Lapins Crétins',
'marvel' => 'All Marvel Superheroes',
'franklin' => 'Franklin (everything is possible)',
'spongebob' => 'Spongebob (nothing to say... Love it!)',
],
/**
* Texts definition
* @see the `Texts definition` section below
*/
't_keyboard' => 'Press the <kbd>CTRL</kbd> or <kbd>CMD</kbd> button to select more than one option.',
't_no_options' => 'The field does no have any options.',
]);
Variables definition
The variables definition depends on multiple
value:
- set to false
, a uniq string value is stored in Database
- set to true
, an array of key values is stored in Database, (*6)
In all cases:, (*7)
Variable |
Type |
Default value if not set |
Accepted values |
title |
String |
'Radio button' |
empty |
description |
String |
empty |
empty |
options |
Array |
empty |
Array with a key/value options |
Uniq choice
Variable |
Type |
Default value if not set |
Accepted values |
default |
String |
empty string |
One of the options keys |
multiple |
Boolean |
false |
nothing else |
Multiple choices
Variable |
Type |
Default value if not set |
Accepted values |
default |
String |
empty array |
Array with options keys |
multiple |
Boolean |
true |
nothing else |
Texts definition
Code |
Default value |
Definition |
t_keyboard |
Press the CTRL or CMDbr/button to select more than onebr/option. |
Used as a notice to help users to user multiselect field |
t_no_options |
The field does no have any options. |
Used as an error in the case no options have been set |
Retrive data
Retrieve your value from Database with a simple get_option('my_select_field_id', '')
or get_option('my_multiselect_field_id', [])
(see WordPress reference):, (*8)
// Get select from Database
$select = get_option('my_select_field_id', '');
// Display value
echo '
'.$select.', master of the ceremony
';
// Get multiselect from Database
$multiselect = get_option('my_multiselect_field_id', []);
if (!empty($multiselect)) {
echo '
And the nominees are:, (*9)
';
echo '
';
foreach ($multiselect as $value) {
echo '- '.$value.'
'; // Will display key item options!
}
echo '
';
}
Release History
Version |
Note |
0.0.12 |
Change main css class |
0.0.11 |
New Olympus components compatibilitybr/Change repository to be a part of Dionysos fields |
0.0.10 |
Remove twig dependency from composer |
Contributing
- Fork it (https://github.com/GetOlympus/olympus-dionysos-field-select/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., (*10)