回调函数中的必需参数在Redux Framework中不起作用

时间:2016-12-09 15:30:32

标签: wordpress 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 个答案:

答案 0 :(得分:0)

目前我认为回调字段中尚未提供所需选项。

目前你可以使用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 }