1. Ты понимаешь, что конструкция "$redux_demo" - это ПОДСТАНОВКА в строку значения ПЕРЕМЕННОЙ $redux_demo? И что эта подстановка будет нормально работать ТОЛЬКО если $redux_demo содержит строку или число? И если $redux_demo содержит строку, то "$redux_demo" в точности РАВНО $redux_demo безо всяких кавычек?
2. Срочно читай описание функций
https://wp-kama.ru/function/do_shortcode и
https://wp-kama.ru/function/add_shortcode. Судя по коду, ты вообще не понимаешь, как работают шорткоды и какие параметры должны быть у do_shortcode.
В админке у меня специальное поле где человек добавляет свой шорткод, после этот шорткод выводиться в переделенный блок на сайте, но шорткод выводиться или как текст или за место шорткода выводиться Array
Вот код массива
Redux::setSection( $redux_demo, array(
'title' => __('Form'),
'id' => 'basic-form',
'subsection' => true,
'customizer_width' => '700px',
'fields' => array(
array(
'id' => 'form-short',
'type' => 'editor',
'title' => __( 'Shortcode form', 'redux-framework-demo' ),
'subtitle' => __( 'Info text about us', 'redux-framework-demo' ),
),
)
)
);
А вот код вывода
<?php echo do_shortcode("$redux_demo","form-short"); ?>