用于定制器的 WordPress 自定义中继器控制器

问题描述 投票:0回答:1

我想为主题创建自定义中继器控制器,为此我尝试过,但我遇到了问题,并且无法保存对我的中继器部分的任何更改,非常感谢任何帮助,这里是链接到我的代码

定制器类的代码是

if (class_exists('WP_Customize_Control')):
class Test_Testimonial_Control extends WP_Customize_Control {
    public $type = 'textarea';

    public function render_content() {
    ?>
        <div class="test-rep-section-wrap">
            <div class="test-rep-section">
                <h3 class="test-title"><?php echo esc_html( $this->label ); ?></h3>
                <div class="test-contents">
                    <input type="text" name="testimonial" placeholder="Image URL" id="img-link-testimonial">
                    <a href="javascript:void(0)" class="upload_testimonial">Upload Image</a>

                    <span><?php _e('Description Text','text-domain'); ?></span>
                    <textarea rows="2" style="width:100%;"><?php echo esc_textarea( $this->value() ); ?></textarea>
                    <input type="text" name="cl_name" placeholder="Name">
                </div>
                <a href="javascript:void(0)" class="new_section">Add More</a>
                <input <?php $this->link(); ?> type="hidden" value="<?php echo esc_attr($this->value()); ?>"/>
            </div>
        </div>

    <?php
    }
}
endif;

jquery 代码是

 $('.test-contents').hide();
$('body').on('click', '.test-title', function(){
    $('.test-contents').slideToggle();
});

$('body').on('click', '.new_section', function(){
var tCount = 0;
$('.test-rep-section-wrap').append('<div class="test-rep-section"><h3 class="test-title">Testimonial Options</h3><div class="test-contents" style="display: block;"><input type="text" name="testimonial" placeholder="Image URL" id="img-link-testimonial"><a href="javascript:void(0)" class="upload_testimonial">Upload Image</a><span>Description Text</span><textarea rows="5" style="width:100%;"></textarea><input type="text" name="cl_name" placeholder="Name"></div><a href="javascript:void(0)" class="new_section">Add More</a><input data-customize-setting-link="ripple_pro_testimonial_repeater" type="hidden" value=""><div class="delete-test-feature"><a href="javascript:void(0)" class="delete-feature button">Delete Feature</a></div></div>');

});
$(document).on('click', '.delete-test-feature > a', function(){
   $(this).parents('.test-rep-section').remove();
});
wordpress-theming
1个回答
0
投票

使用 Kirki 不是更好吗?

https://docs.themeum.com/kirki/controls/repeater/

© www.soinside.com 2019 - 2024. All rights reserved.