PHP code example of iamntz / carbon-chained-select
1. Go to this page and download the library: Download iamntz/carbon-chained-select library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
iamntz / carbon-chained-select example snippets
->add_options([
'__label__' => 'Select 1', // field label
'value1' => 'Option Text 1',
'value2' => 'Option Text 2',
'value3_nested' => [
'__label__' => 'Select 2 (nested)', // option text AND next field label
'select-2-1-1' => 'Option text 2 - 1',
'select-2-1-2' => 'Option text 2 - 2',
"select-2-1-3" => [
'__label__' => 'Select 3 (nested, with remote)', // option text and 3rd level field label
'__config__' => [
'multiple' => true,
'endpoint' => '/wp-json/namespace/v2/chained-select',
],
],
],
]);
->add_options([
'__config__' => [
'label' => 'Select 1', // field label
]
'value1' => 'Option Text 1',
'value2' => 'Option Text 2',
'value3_nested' => [
'__label__' => 'Select 2 (nested)', // option text AND next field label
'select-2-1-1' => 'Option text 2 - 1',
'select-2-1-2' => 'Option text 2 - 2',
"select-2-1-3" => [
'__config__' => [
/**
* By default, each nested item will be in an array that will look pretty much like this:
* [
* 'value3_nested' => value3_nested',
* 'select-2-1-3' => select-2-1-3'
* ]
*
* You can specify a name for each level, so you could have a multi-dimensional array, something like this:
* [
* 'value3_nested' => 'value3_nested',
* 'last-level-name' => 'select-2-1-3'
* ]
*
* If no `name` config key is provided, then the value name will be used. For consistency sake,
* try to use one way or another, don't mix them. Also, please note that by NOT specifying a name,
* you're stuck with the initial order. I.e. won't be able to reorder items without breaking existing data!
*
* So TL;DR: use a damn name!
*/
'name' => 'last-level-name',
// if you have a `label` key here, then the `__label__` key on an upper level will be ignored.
'label' => 'Select 3 (nested, with remote)',
// optional, is the label that will appear above `select` field. If not specified,
// then the label above will be used as both option AND label
'option_label' => '',
// wether if the field can have multiple values or only one.
// Please note that if a field is multiple, you can't have any further nested selects
// you can try though, but the results are not predictible :)
'multiple' => true,
// REST endpoint to fetch new options. This should accept GET requests!
// Params sent on the request:
// {
// nonce: nonce, // checking for carbon_chained_select key
// value: value, // current select value
// fieldValue: field.value, // whole field value (as an array)
// name: name, // the field name
// query: query // if user searched something, it will be sent as this key
// }
//
// The response should follow the same structure as this initial array,
// parsed (read below) then sent as json
'endpoint' => '/wp-json/namespace/v2/chained-select',
],
],
],
]);
$parser = new \iamntz\carbon\chainedSelect\OptionsParser([
'selectOptions' => $options // same structure as above!
], 'fieldName');
$parser->parse();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.