This component is a part of the Olympus Dionysos fields for WordPress.
It uses the default WordPress select or multiselect field.
composer require getolympus/olympus-dionysos-field-select
Field initialization • Variables definition • Texts definition • Retrive data • Release history • Contributing
Use the following lines to add a select field
in your WordPress admin pages or custom post type meta fields:
// 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.',
]);
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
In all cases:
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 |
Variable | Type | Default value if not set | Accepted values |
---|---|---|---|
default |
String | empty string | One of the options keys |
multiple |
Boolean | false |
nothing else |
Variable | Type | Default value if not set | Accepted values |
---|---|---|---|
default |
String | empty array | Array with options keys |
multiple |
Boolean | true |
nothing else |
Code | Default value | Definition |
---|---|---|
t_keyboard |
Press the CTRL or CMD button to select more than one 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 |
Retrieve your value from Database with a simple get_option('my_select_field_id', '')
or get_option('my_multiselect_field_id', [])
(see WordPress reference):
// Get select from Database
$select = get_option('my_select_field_id', '');
// Display value
echo '<h2><b>'.$select.'</b>, master of the ceremony</h2>';
// Get multiselect from Database
$multiselect = get_option('my_multiselect_field_id', []);
if (!empty($multiselect)) {
echo '<p>And the nominees are:</p>';
echo '<ul>';
foreach ($multiselect as $value) {
echo '<li>'.$value.'</li>'; // Will display key item options!
}
echo '</ul>';
}
Version | Note |
---|---|
0.0.12 | Change main css class |
0.0.11 | New Olympus components compatibility Change repository to be a part of Dionysos fields |
0.0.10 | Remove twig dependency from composer |
- 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.