Before any Field array is written, which will represent the individual options on the options panel, a section must be created. The section array sets up a tab on the side of the Redux options panel, where the Field arrays will ultimately go.
The setSections function
Section arrays are declared in the
setSections function of your config file, or by default, sample-config.php. To see for yourself, open the sample-config.php file in your favorite PHP editor and scroll down to the
setSections function. In addition to section arrays, and code your section might depend on should also be placed here. As seen in the sample-config file, there is a section of code toward the top which enumerates image files in the sample/patterns directory for use in
image_select field example.
To set up a new section, we need to pass the entire section code into the public
sections array of the
Redux_Framework_sample_config class. To begin, use the code below:
$this->sections = array( 'title' => 'New Section', );
Set the title argument to whatever you would like to name the section. Whatever title you choose will be the title that appears on the actual section tab of the options framework. Use the arguments listed below to further set the section arguments.
|icon||string||The icon to be displayed next to the section title. This could be a preset Elusive Icon or a URL to an icon of your own.|
|title||string||The title of the section that will appear on the option tab.|
|heading||string||Text to appear at the top of the section page. By default the
|desc||string||Text to appear under the section title. HTML is permitted.|
|class||string||Appends any number of classes to the section’s class attribute.|
|permissions||string||String specifying the capability required to view the section. See Using Permissions.|
|customizer_only||array||An array of arrays representing individual options.|
|subsection||bool||Boolean to denote if this section should appear as a subsection to the previously defined section.|
Here is an example of a typical sections array with a single text box option:
$this->sections = array( 'title' => 'New Section', 'icon' => 'el-icon-cogs', 'heading' => 'Expanded New Section Title', 'desc' => '<br />This is the section description. HTML is permitted.<br />', 'fields' => array( array( 'id' => 'opt-text', 'type' => 'text', 'title' => 'A sample text box', ), ), );