猿问

显示相同结果计数产品的功能已离开 WooCommerce

我想显示产品剩余/总产品并通过进度条显示,在产品页面上工作正常,但在循环页面(类别,商店页面)上只显示一个产品的相同结果,这应该是一个产品的不同结果. 这是代码


jQuery(document).ready(function(){

  'use strict';

    var wbpsSale = jQuery('#wpbsc_total_sale').attr('total-sale');

    var wbpsStock = jQuery('#wpbsc_total_sale').attr('total-stock');

    var jqmeter_params = {

        goal:wbpsStock,

        raised:wbpsSale,

        meterOrientation:'horizontal',

        displayTotal: true,  

        width:'100%',

        height:'17px'

        };

  jQuery("corergb-bar").jQMeter(jqmeter_params);


});

    function wpbsc_show_stock_shop() {

        global $product;

        global $post;

        $manage_stock = get_post_meta( $post->ID, '_manage_stock', true );

        if( $product->is_on_sale() && $product && $manage_stock == 'yes'){


        $stock = get_post_meta( $post->ID, '_stock', true );

        $wpbscSale = $product->get_total_sales();

        $wpbscTotalStock = intval($stock)+ intval($wpbscSale);

        ?>


        <div class="wpbsc-stock-counter">

           <div id="wpbsc_total_sale" class="total-sale-stat" total-sale="<?php echo esc_attr( $wpbscSale ); ?>" total-stock="<?php echo esc_attr($wpbscTotalStock) ?>"></div>

            <p class="stock-progressbar-status"><span class="total-sold"> <?php echo esc_html__("Đã bán: {$wpbscSale}",'wpbsc'); ?></span></p>

            <div id="corergb-bar" class="bar-progress-stat"></div>

        </div>



       <?php

      }

    }

请帮助我,我想展示在产品上使用不同结果的“woocommerce_after_shop_loop_item_title”

图片示例:

这里显示在产品页面上

显示在类别上但只显示进度条而不是百分比

当我更改 jQuery("[id='corergb-bar']") 为 jQuery('.bar-progress-stat') 结果进度条显示但所有产品的相同结果都有 manage_stock

图片示例: 产品上应该有不同的结果


婷婷同学_
浏览 152回答 1
1回答

牛魔王的故事

一个非常简单的替代方法是使用 CSS 框架提供的进度条,因为它们中的大多数都包含一个。例如,如果您使用 bootstrap,那么您可以在此处找到它的进度条的文档。这很简单:<div class="progress"><div class="progress-bar" role="progressbar" style="width: <?php echo ((esc_attr( $wpbscSale )*100)/esc_attr( $wpbscTotalStock )); ?>%" aria-valuenow="<?php echo esc_attr( $wpbscSale ); ?>" aria-valuemin="0" aria-valuemax="<?php echo esc_attr($wpbscTotalStock) ?>"></div>Previous错误推论:快速浏览后,我认为您可能没有获得$stock变量的值。您可以尝试使用$product->get_id()而不是$post->IDat$stock = get_post_meta( $post->ID, '_stock', true );然后再试一次吗?所以它应该看起来像:$stock = get_post_meta( $product->get_id(), '_stock', true );您也可以尝试使用[get_the_id()][1]。编辑:您应该在没有对象引用的情况下使用get_the_id() 。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答