An open API service indexing awesome lists of open source software.

https://github.com/horttcore/wp-customizer

A helper package for working with the WordPress Customizer
https://github.com/horttcore/wp-customizer

customizer fields wordpress wordpress-customizer

Last synced: 5 months ago
JSON representation

A helper package for working with the WordPress Customizer

Awesome Lists containing this project

README

        

# WordPress Customizer Composer Package

A helper package for working with the WordPress Customizer

## Installation

`composer require horttcore/wp-customizer`

## Usage

### Basics

```php
panel( __('My Panel', 'textdomain') )
->section( __('My Section', 'textdomain') )
->checkbox( 'my-checkbox', __('Checkbox', 'textdomain') )
->color( 'my-color', __('Color', 'textdomain') )
->file( 'my-file', __('File', 'textdomain') )
->image( 'my-image', __('Image', 'textdomain') )
->page( 'my-page', __('Page', 'textdomain') )
->radio( 'my-radio', __('Radio', 'textdomain'), ['option1' => 'Option 1', 'option2' => 'Option 2'] );
->select( 'my-select', __('Select', 'textdomain'), ['option1' => 'Option 1', 'option2' => 'Option 2'] );
->text( 'my-text', __('Text', 'textdomain') )
->textarea( 'my-textarea', __('Textarea', 'textdomain') )
->url( 'my-url', __('Url', 'textdomain') )
->register();
```

### Advanced

#### Save as option instead of theme_mod

```php
panel( __('My Panel', 'textdomain') )
->section( __('My Section', 'textdomain') )
->text( 'my-text', __('My Text', 'textdomain'), ['type' => 'option'] )
->register();
```

#### Check for a capability

```php
panel( 'My Panel' )
->section( __('My Section', 'textdomain') )
->text( 'my-text', __('My Text', 'textdomain'), ['capability' => 'edit_posts'] )
->register();
```

#### Add a description

```php
panel( 'My Panel' )
->section( 'My Section' )
->text( 'my-text', 'Text', [], ['description' => __('This is awesome', 'textdomain')] )
->register();
```

#### Retrieving data

```php
image( 'mobile logo', __('Mobile Logo', 'textdomain'), [], [
'section' => 'title_tagline',
'priority' => 1
] )
->register();
```

## Changelog

### v2.1.0

- Adding support for including elements in existing panels

### v2.0.0

- Rename `Manager` to `Customize`

### v1.0.0

- Initial release