WordPress.org

Make WordPress Core

Ticket #28477: 28477.test-plugin.2.php

File 28477.test-plugin.2.php, 1.4 KB (added by celloexpressions, 6 years ago)

Revised demo/test plugin with input_attrs(), several input types, and the new description field.

Line 
1<?php
2/**
3 * Plugin Name: Customizer Controls Test
4 *
5 */
6
7add_action( 'customize_register', 'celloexpressions_customizer_controls_test' );
8function celloexpressions_customizer_controls_test( $wp_customize ) {
9        $section_id = 'controls_test';
10        $wp_customize->add_section( $section_id , array(
11                'title'    => 'Controls Test',
12                'priority' => 1,
13        ) );
14
15        // All of the input types to test.
16        $types = array( 'text', 'checkbox', 'textarea', 'radio', 'select', 'hidden', 'number', 'range', 'url', 'email', 'search', 'time', 'date', 'datetime', 'week' );
17
18        // Only used for certain input types.
19        $choices = array( '1' => 'Choice 1', '2' => 'Choice 2', '3' => 'Choice 3' );
20        $input_attrs = array( 
21                'min' => 0,
22                'max' => 10,
23                'step' => 2,
24                'class' => 'test-class test',
25                'style' => 'border-right: 3px solid #0a0',
26                'placeholder' => 'Placeholder...',
27                'pattern' => '[a-zA-Z0-9]+',
28        );
29
30        $i = 0;
31        foreach ( $types as $type ) {
32                $setting_id = $section_id . '_' . $type;
33                $wp_customize->add_setting( $setting_id, array(
34                        'default'           => '',
35                ) );
36
37                $wp_customize->add_control( $setting_id, array(
38                        'label'     => ucfirst( $type ),
39                        'section'   => $section_id,
40                        'description'=> 'This is the control description.',
41                        'type'      => $type,
42                        'choices'   => $choices,
43                        'input_attrs' => $input_attrs,
44                        'priority'  => $i,
45                ) );
46                $i++;
47        }
48}