Функция, показывающая то же количество результатов, покинула WooCommerce. - PullRequest
2 голосов
/ 15 апреля 2020

Я хочу показать, что товары остались / все товары и отображаются с помощью индикатора выполнения, на странице товара все в порядке, но на странице l oop (категория, страница магазина) просто отображается один и тот же результат для одного товара, это должно быть другой результат на продукте. Вот код

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

пример изображения: должен быть другим результатом для продукта

1 Ответ

1 голос
/ 15 апреля 2020

РЕДАКТИРОВАТЬ : Очень простой альтернативой будет использование индикатора выполнения, предоставляемого вашей структурой 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>

Предыдущий Неверный вычет: после быстрого взгляда, я думаю, вы не получите значение для вашей $stock переменной. Не могли бы вы попытаться использовать $product->get_id() вместо $post->ID на $stock = get_post_meta( $post->ID, '_stock', true );, а затем повторить попытку?

Так это должно выглядеть следующим образом: $stock = get_post_meta( $product->get_id(), '_stock', true );

Вы также можете попробовать использовать [get_the_id()][1] вместо. Редактировать : Вы должны использовать get_the_id () без ссылки на объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...