WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Отображать значение при выборе результата — Visual Compouser

Отображать содержимое в настройке блока Visual Compouser (админпанель)
Т.е. показывать дополнительные поля при выборе селектора.

Отображать значение при выборе результата
Отображать содержимое

В данный момент реализовано так:

array(
'type' => 'dropdown',
'class' => '',
'heading' => esc_html__('Выключить блок "Акция"?','plugin'),
'param_name' => 'block',
'value' => array(
'Да' => 'yes',
'Нет' => 'no',
)
),
array(
'type' => 'textfield',
'class' => '',
'heading' => esc_html__('Заголовок','plugin'),
'param_name' => 'title',
'value' => ''
),
array(
'type' => 'textfield',
'class' => '',
'heading' => esc_html__('Описание','plugin'),
'param_name' => 'text',
'value' => ''
),

и т.д......
Заметки к вопросу:
Новичёк 24 Май. 2019

Спасибо, разобрался! Сделал через чекбокс.
Поясню, в настройках нового массива, после значения, добавить:

'dependency' => array(
				 'element'       => 'blocksale', // параметр массива к которому он предназначен.
				 'not_empty'     => true, // значение не пустое
)

dependency = зависимость, то есть этот массив, зависит от параметра "blocksale"

Пример:

            array(
				'type'       => 'checkbox',
				'class'      => '',
				'heading'    => esc_html__('Включить "Акцию"?','plugin'),
				'param_name' => 'blocksale',
				'description' => 'Блок горячего предложения на главной странице',
				'value' => array(
					'Да'   => 'yes',
				)
			),
			array(
				'type'       => 'textfield',
				'class'      => '',
				'heading'    => esc_html__('Заголовок 1','plugin'),
				'param_name' => 'title3',
				'description' => 'Настройки блока акции',
				'value'      => '',
				'dependency' => array(
									'element'       => 'blocksale',
									'not_empty'     => true,
			 )
			),
			array(
				'type'       => 'textfield',
				'class'      => '',
				'heading'    => esc_html__('Заголовок 2','plugin'),
				'param_name' => 'title4',
				'description' => 'Настройки блока акции',
				'value'      => '',
				'dependency' => array(
									'element'       => 'blocksale',
									'not_empty'     => true,
			 )
			),
0
Новичёк
20 апреля 2019
  • 1

    Вам нужно использовать параметр dependency, пример:

    array(
    	'param_name' => 'style',
    	'heading' => esc_html__( 'Posts Style', 'gillion' ),
    	'description' => esc_html__( 'Choose slider style', 'gillion' ),
    	'value' => array(
    		esc_html__('Style 1 (grid layout categories posts)', 'gillion') => 'style1',
    		esc_html__('Style 2 (left slide with right posts scrollbar - large titles)', 'gillion') => 'style2',
    		esc_html__('Style 3 (left slide with right posts scrollbar - small titles)', 'gillion') => 'style2 style4',
    		esc_html__('Style 4 (small grid layout categories posts)', 'gillion') => 'style1 sh-categories-style3',
    		esc_html__('Style 5 (grid layout categories posts)', 'gillion') => 'style5',
    	),
    	'type' => 'dropdown',
    	'holder' => 'div',
    	'class' => '',
    	'admin_label' => true,
    ),
    array(
    	'param_name' => 'title',
    	'heading' => esc_html__( 'Title', 'gillion' ),
    	'description' => esc_html__( 'Enter categories title (works for style 2, style 3, style 4)', 'gillion' ),
    	'value' => 'Categories',
    	'type' => 'textfield',
    	'holder' => 'div',
    	'class' => '',
    	'dependency' => array(
    		'element' => 'style',
    		'value' => array( 'style2', 'style2 style4', 'style1 sh-categories-style3', 'style5' )
    	),
    	'group' => __( 'Title', 'gillion' ),
    ),
    Bo3gyX 25 Апр. 2019

    Поясню:
    Первый массив - формирует выпадающий список (выбор стилей например) и носит имя style, второй имеет параметр dependency,
    где указана зависимость от родительского элемента 'element' => 'style' и значения style при которых текущий элемент (title) отображается.
    Пример работы:

    style 1 - title скрыт

    style 2 - title отображается

    П.С. title выводится во второй кладке, за это отвечает параметр 'group' => __( 'Title', 'gillion' ),

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация