首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >范围输入WP定制器的无效值错误

范围输入WP定制器的无效值错误
EN

Stack Overflow用户
提问于 2016-06-16 19:09:19
回答 2查看 1.4K关注 0票数 1

范围输入值在wp自定义程序中不起作用。这是我的类wordpress的自定义控制和咆哮,这是js代码。

代码语言:javascript
复制
<?php
    // Range Control Wwith Selected Value Indicator
    class WP_Customize_Range_Control extends WP_Customize_Control
    {
        public $type = 'custom_range';
        public function enqueue()
        {
            wp_enqueue_script(
                'cs-range-control',
                BLOCKS_URL . '/lib/js/controls.js',
                array('jquery-ui-slider'),
                false,
                true
            );
        }
        public function render_content()
        {
            ?>
            <label>
                <?php if ( ! empty( $this->label )) : ?>
                    <span class="customize-control-title"><?php echo esc_html($this->label); ?></span>
                <?php endif; ?>
                <div class="cs-range-value"><?php echo esc_attr($this->value()); ?></div>
                <input data-input-type="range" type="range" <?php $this->input_attrs(); ?> value="<?php echo esc_attr($this->value()); ?>" <?php $this->link(); ?> />
                <?php if ( ! empty( $this->description )) : ?>
                    <span class="description customize-control-description"><?php echo $this->description; ?></span>
                <?php endif; ?>
            </label>
            <?php
        }
    }

//这是JS

代码语言:javascript
复制
(function ($) {
    $(document).ready(function ($) {
        $('input[data-input-type="range"]').on('change', function () {
            var val = $(this).val();
            $(this).prev('.cs-range-value').html(val);
            $(this).val(val);
        });
    })
})(jQuery);

当我在WP定制器中更改滑块的值时,我会得到一个无效值的错误。为什么会发生这种事,我该怎么解决呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-18 18:02:32

不妨试试这个:

代码语言:javascript
复制
'sanitize_callback' => 'intval',
票数 1
EN

Stack Overflow用户

发布于 2016-06-18 16:41:55

Fix:将enqued脚本更改为jquery,然后才进行设置,而不进行sanitize回调(以前使用过sanitize intvl,如wp所说的)。

代码语言:javascript
复制
$wp_customize->add_setting( 'wca_header_opacity', array(
    'default' => '',
    'transport' => 'postMessage',
    ) );

    $wp_customize->add_control(
    new WP_Customize_Range_Control(
        $wp_customize,
        'header_opacity',
        array(
            'label'       => __('Header Opacity When Fixed'),
            'section'     => 'wca_header_section_design',
            'settings'    => 'wca_header_opacity',
            'context'    => 'wca_header_opacity',
            'description' => __('Set transparency for header when is fixed for an awesome effect !'),
            'input_attrs' => array(
                'min' => 0,
                'max' => 1,
                'step' => 'any',
            ),
            'priority'   => 10
        )
    )
    );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37867527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档