php [woo总是显示所有图像变化]在“yith-color-and-label-variations-for-woocommerce”插件#wordpress中选择产品变体时

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php [woo总是显示所有图像变化]在“yith-color-and-label-variations-for-woocommerce”插件#wordpress中选择产品变体时相关的知识,希望对你有一定的参考价值。

<!--
copy assets/js/frontend.js to assets/js/frontend.min.js
https://i.imgur.com/09q6Zj5.jpg
-->
<script>
//frontend.min.js
  (function ($, window, document) {
    //hoang
	var list={};
    $.fn.yith_wccl = function () {
      ..
      this.generateOutput = function () {

            select.each(function () {
                var t = $(this),
                    type = $(this).data('type'), sid=t.attr('id');	//hoang
				//save first
				if(type=='image' && !list[sid]) {
					list[sid]={};
					t.find('option').each(function () {
						var v=$(this).attr('value');
						if(v) list[sid][v]= {value: $(this).data('value'), text: $(this).text()};
					});
					console.log('init select '+sid);
				}
				if(type=='image' && list[sid]) {
					t.empty();
					for(var v in list[sid]) {
						if(!t.find('option[value="'+v+'"]').length) {
							t.append('<option value="'+v+'" data-value="'+list[sid][v].value+'">'+list[sid][v].text+'</option>');
							console.log('append ',list[sid][v]);
						}
					}					
				}
				//end hoang
                var select_box = $('<div />', {
                    'class': 'select_box_' + type + ' select_box ' + t.attr('name')
                }).insertAfter(t);

                t.removeData('last_content');

                t.find('option').each(function () {
                    if ( $(this).data('value') ) {
                        var classes = 'select_option_' + type + ' select_option';
                        var value = $(this).data('value');//console.log(value);
                        var o = $(this);

                        var option = $('<div/>', {
                            'class': classes
                        }).data('value', $(this).attr('value'))
                            .data('option', o.clone(true))
                            .appendTo(select_box)
                            .off('click')
                            .on('click', function (e) {
                                if ($(this).hasClass('selected')) {
                                    t.val('').change();
                                } else {
                                    e.preventDefault();
                                    t.val(o.val()).change();
                                }
                            });

                        if (type == 'colorpicker') {
                            option.append($('<span/>', {
                                'css': {
                                    'background': value
                                }
                            }));
                        } else if (type == 'image') {
                            option.append($('<img/>', {
                                'src': value
                            }));
                        } else if (type == 'label') {
                            option.append($('<span/>', {
                                'text': value
                            }));
                        }
                    }
                });
				console.log('--->');
            }).filter(function () {
                    return $(this).data('type') != 'select'
                }).hide();

            return form;
        };
      ..
    }
  })
</script>

以上是关于php [woo总是显示所有图像变化]在“yith-color-and-label-variations-for-woocommerce”插件#wordpress中选择产品变体时的主要内容,如果未能解决你的问题,请参考以下文章

php [YITH WooCommerce订阅]与巴西的WooCommerce额外结账字段集成

php WooCommerce和Yith Infinite滚动的愿望清单之间的兼容性

php 更改YITH PayPal Express Checkout for WooCommerce的Set Express Checkout Request参数

如何保存个人资料图片并在编辑帐户页面woo-commerce中显示

PHP:计算图像中的对象组

php Woo Checkout Fields&Arrays #woo