PHP code example of laraish / options
1. Go to this page and download the library: Download laraish/options 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/ */
laraish / options example snippets
use Laraish\Options\OptionsPage;
$optionsPage = new OptionsPage([
'menuSlug' => 'my_options_page',
'menuTitle' => 'My Options Page',
'pageTitle' => 'My Options Page',
'iconUrl' => 'dashicons-welcome-learn-more',
'optionGroup' => 'my_options_page',
'optionName' => 'my_options',
'capability' => 'manage_categories',
'sections' => [
[
'id' => 'section-id',
'title' => 'Section title',
'description' => 'Section Description',
'fields' => [
[
'id' => 'my-avatar',
'type' => 'media',
'title' => 'Avatar',
'description' => 'Choose an image for your avatar.'
],
[
'id' => 'my-email',
'type' => 'email',
'title' => 'E-mail',
],
[
'id' => 'my-nice-name',
'type' => 'text',
'title' => 'Nice name',
'attributes' => [
'placeholder' => 'your nice name',
'maxlength' => 10,
'class' => 'regular-text'
],
],
[
'id' => 'my-description',
'type' => 'textarea',
'title' => 'About Me',
],
]
]
],
'helpTabs' => [
[
'title' => 'tab-1',
'content' => '<p>description here</p>',
],
[
'title' => 'tab-2',
'content' => '<p>description here</p>',
]
],
'scripts' => ['https://unpkg.com/vue/dist/vue.js'],
'styles' => ['/my-css.css'],
]);
$optionsPage->register();
use Laraish\Options\OptionsPage;
/*------------------------------------*\
# Field objects
\*------------------------------------*/
$avatarField = new OptionsField([
'id' => 'my-avatar',
'type' => 'media',
'title' => 'Avatar',
'description' => 'Choose an image for your avatar.'
]);
$emailField = new OptionsField([
'id' => 'my-email',
'type' => 'email',
'title' => 'E-mail',
]);
$niceNameField = new OptionsField([
'id' => 'my-nice-name',
'type' => 'text',
'title' => 'Nice name',
'attributes' => [
'placeholder' => 'your nice name',
'maxlength' => 10,
'class' => 'regular-text'
]
]);
$descriptionField = new OptionsField([
'id' => 'my-description',
'type' => 'textarea',
'title' => 'About Me',
]);
$demoField = new OptionsField([
'id' => 'my-demo',
'type' => 'text',
'title' => 'Demo text field',
]);
/*------------------------------------*\
# Section object
\*------------------------------------*/
$demoSection = new OptionsSection([
'id' => 'section-id',
'title' => 'Section title',
'description' => 'Section Description',
'fields' => [
$demoField,
]
]);
/*------------------------------------*\
# Page object
\*------------------------------------*/
$optionsPage = new OptionsPage([
'menuSlug' => 'my_options_page',
'menuTitle' => 'My Options Page',
'pageTitle' => 'My Options Page',
'iconUrl' => 'dashicons-welcome-learn-more',
'optionGroup' => 'my_options_page',
'optionName' => 'my_options',
'capability' => 'manage_categories',
'sections' => [
[
'id' => 'section-id',
'title' => 'Section title',
'description' => 'Section Description',
'fields' => [
$avatarField,
$emailField,
$niceNameField,
$descriptionField,
]
],
$demoSection,
],
'helpTabs' => [
[
'title' => 'tab-1',
'content' => '<p>description here</p>',
],
[
'title' => 'tab-2',
'content' => '<p>description here</p>',
]
],
'scripts' => ['https://unpkg.com/vue/dist/vue.js'],
'styles' => ['/my-css.css'],
]);
/*------------------------------------*\
# register page/section/field
\*------------------------------------*/
// register page
$optionsPage->register();
// register a section to a page(Settings -> General)
$demoSection->register('general', 'demo-section-group', 'demo-section-options');
// register a field to a section of page(Settings -> General -> `default` section)
$demoField->register('general', 'default', 'demo-section-group', 'demo-section-options');
use Laraish\Options\OptionsRepository;
// Get the value of 'my-nice-name' in 'my_options'.
// 'my_options' is the option name.
$myOptions = new OptionsRepository('my_options');
echo $myOptions->get('my-nice-name');
// also you can set the value by calling the set() method.
$myOptions->set('my_options','new value');
use Laraish\Options\OptionsPage;
$optionsPage = new OptionsPage([
'menuSlug' => 'my_options_page',
'menuTitle' => 'My Options Page',
'pageTitle' => 'My Options Page',
'optionGroup' => 'my_options_page',
'optionName' => 'my_options',
'renderFunction' => function (OptionsPage $page, OptionsForm $form) {