Обязательный аргумент в функции обратного вызова не работает в Redux Framework

Я создаю параметры моей темы с помощью Redux Framework. В нашем конфигурационном файле я использую функцию обратного вызова, которая, кажется, не работает с требуемым аргументом. Вот конфиг для поля.

Redux::setSection( $opt_name, array(
        'title'      => __( 'Title', 'redux-framework-demo' ),
        'id'         => 'switch_buttonset-set',
        'desc'       => __('Select the Site Title'),
        'subsection' => true,
        'fields'     => array(
            array(
                'id'       => 'opt-button-set',
                'type'     => 'button_set',
                'title'    => __( 'My Title', 'redux-framework-demo' ),
                'subtitle' => __( 'My Sub Title', 'redux-framework-demo' ),
                'desc'     => __( 'Some description', 'redux-framework-demo' ),
                'options'  => array(
                    '1' => 'Default Title',
                    '2' => 'Custom Title',
                ),
                'default'  => '1'
            ),
            array(
                'id'       => 'my_id',
                'type'     => 'callback',
                'required' => array('opt-button-set','equals','2'),
                'title'    => __( 'Test Hidden Field', 'redux-framework-demo' ),
                'desc'     => __('Some Description'),
                'callback' => 'my_callback'
),

А вот мой пример функции обратного вызова

function my_callback(){

    echo 'Some callback functions here'
}

Проблема в том, что обязательный аргумент не работает, и поле продолжает оставаться видимым независимо от выбранной опции. Я не нахожу никакой документации относительно этого.

заранее спасибо

1 ответ

На данный момент я думаю, что требуемая опция еще не доступна в полях обратного вызова.

На данный момент вы можете использовать функцию jQuery, чтобы показать или скрыть поле обратного вызова. Вот код, который вам нужен для вашего случая:

function my_callback(){
   echo '<fieldset id="my_id" class="redux-field-container redux-field" data-id="my_id" data-type="callback">';
   echo 'Some callback functions here'
   echo '</fieldset>';
}

add_action('admin_head', 'my_action_javascript');

    function my_action_javascript() { 
    ?>
       <script type="text/javascript" >

       jQuery(document).ready(function($) {

           // input#opt-button-set -> This field is hide in you switch, but determine the value of the switch
           if ($('input#opt-button-set').val() == 0) {
               $('#my_id').hide;
           } else {
               $('#my_id').show;
           };   

        });

       </script>
    <?php }
Другие вопросы по тегам