javascript - 在 Woocommerce 中使用 jQuery 产品变体属性呈现

标签 javascript php jquery wordpress woocommerce

我正在构建一个 woocommerce 网上商店,我需要在单个产品页面中显示每个产品的属性。我卡在了变量产品上。

虽然我能够在控制台上获取当前的变体属性,但我找不到在页面上打印这些属性值的方法。

我在 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>

有什么帮助吗?

最佳答案

使用 jQuery each() 尝试以下操作类似于 PHP foreach 循环的函数……我已将代码嵌入到一个 Hook 函数中,这将使显示无需更改模板(仅用于测试):

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, data ) {
                $('#variation_descr').html(data.variation_description);
                
                $.each(variation.attributes, function(attribute,value){
                    $('#variation_descr').append('<p><strong>'+attribute+'</strong>: '+value+'</p>');
                    console.log("Attribute: "+attribute+" | Value: "+value);
                });
                console.log("Variation Id: "+data.variation_id);
            });
        });
    </script>
    <?php
}

代码进入事件子主题(或事件主题)的 function.php 文件。经过测试并有效。

关于javascript - 在 Woocommerce 中使用 jQuery 产品变体属性呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50589880/

相关文章:

javascript - 将数据安全地存储在 Node CLI 应用程序中

javascript - 我的子组件如何在 Angular 2 中调用父组件的方法?

php - 在一列中显示 3 个产品并滚动行

javascript - CSS 更改无效

javascript - 如何将图像从 Flask 服务器发送到前端的 JavaScript 显示?

javascript - Mongoose:TypeError:十六进制不是函数

php - 如何让浏览器将html标签读取为标签而不是文本

javascript - Laravel 5.1 和 Vue.js - 21678 未捕获( promise )TypeError : Cannot read property 'data' of null

javascript - 在 iFrame 中运行自定义 JavaScript 代码的问题

javascript - 无法删除的输入字段中的文本