getolympus/olympus-dionysos-field-select

Select / Multiselect field, this component is a part of the Olympus Dionysos fields.

v0.0.12 2023-12-17 22:37 UTC

This package is auto-updated.

Last update: 2024-11-18 21:56:25 UTC


README

Dionysos Select Field

Olympus Component CodeFactor Grade Packagist Version MIT

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

Table of contents

Field initializationVariables definitionTexts definitionRetrive dataRelease historyContributing

Field initialization

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.',
]);

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

In all cases:

Uniq choice

Multiple choices

Texts definition

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):

// 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>';
}

Release History

Contributing

  1. Fork it (https://github.com/GetOlympus/olympus-dionysos-field-select/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request

Built with ♥ by Achraf Chouk ~ (c) since a long time.