我正在建立一个woocommerce eshop,我需要在单个产品页面中显示每个产品的属性。我对可变产品感到困惑。
虽然我能够在控制台上获取当前的变体属性,但我无法找到在页面上打印这些属性值的方法。
我在woocommerce的short-description.php文件中使用了这个脚本。
<script>
jQuery(document).ready(function( $ ){
$( ".single_variation_wrap" ).on( "show_variation", function ( event, variation ) {
$('#variation_descr').html(variation.variation_description);
console.log (variation.attributes);
} );
});
</script>
请帮忙吗?
答案 0 :(得分:2)
使用类似于PHP foreach循环的jQuery each()
函数尝试以下操作...我已将代码嵌入到钩子函数中,这将使显示无需更改模板(仅用于测试):< / p>
add_action( 'woocommerce_before_single_variation', 'custom_before_single_variation' );
function custom_before_single_variation() {
?>
<div id="variation_descr"></div>
<script>
jQuery(function($){
$(".single_variation_wrap" ).on( "show_variation", function ( event, variation ) {
$('#variation_descr').html(variation.variation_description);
$.each(variation.attributes, function(attribute,value){
$('#variation_descr').append('<p><strong>'+attribute+'</strong>: '+value+'</p>');
console.log("Attribute: "+attribute+" | Value: "+value);
});
});
});
</script>
<?php
}
代码放在活动子主题(或活动主题)的function.php文件中。经过测试和工作。