Как отобразить количество товара на складе с помощью шорткода или HTML-кода элемента или виджета?

Я новичок в WordPress, я могу использовать только elementor pro для редактирования своего сайта. Я использую тему OceanWP и пытаюсь показать количество товара на обычных страницах WordPress. Я пробовал использовать виджет elementor 'Product Stock', чтобы отобразить количество, но он не работает на обычных страницах WordPress.

Я знаю, что виджет «Наличие товара» работает только на странице одного товара, но я хотел бы отображать количество товара на обычных страницах. Я не понимаю кодирования, поэтому я действительно борюсь с проблемой. Пожалуйста, научите меня, как это сделать или как отобразить количество товара на складе с помощью элемента, короткого кода или виджета HTML по заданному идентификатору продукта = "16"?

Ваш ответ будет очень признателен. Спасибо за ваше время.


person amity    schedule 30.04.2019    source источник
comment
Пожалуйста, наймите разработчика, SOF - это не бесплатный сервис кода   -  person Alice    schedule 30.04.2019


Ответы (1)


Для этого нам нужно создать собственный шорткод. код ниже, вам просто нужно добавить приведенный ниже код в файл function.php активной темы.

if( !function_exists('get_specific_product_stock_quantity') ) {

    function get_specific_product_stock_quantity( $arg ) {

        // Shortcode Attributes
        $arg = shortcode_atts(
            array(
                'id' => '', // Product ID argument
            ),
            $arg,
            'product_qty'
        );

        if(empty($arg['id'])) return;

        $stock_quantity = 0;

        $product = wc_get_product(intval($arg['id']));
        $stock_quantity = $product->get_stock_quantity();

        if( $stock_quantity > 0 ) return $stock_quantity;

    }

    add_shortcode( 'product_stock', 'get_specific_product_stock_quantity' );

}

После того, как код будет добавлен в function.php, проверьте ниже, как будет работать шорткод, и используйте любой редактор как elementor или php файл.

Шорткод работает с аргументом ID (ID целевого продукта).

пример: вам нужен товар с ID = "16" на складе

1) На странице или в публикации WordPress просто вставьте этот шорткод в текстовый редактор, например elementor, чтобы отобразить количество запасов для данного идентификатора продукта (здесь идентификатор равен 16):

[product_stock id="16"]

2) В любом PHP-коде (пример):

echo '<p>Product stock quantity is: '.do_shortcode( '[product_stock id="16"]' ).'</p> ';

3) На странице HTML / PHP (пример):

<p>Product stock quantity is: <?php echo do_shortcode( '[product_stock id="16"]' ); ?></p>

Надеюсь, теперь у вас есть все необходимое, и дайте мне знать, что все еще нужна помощь.

person Chetan Kanani    schedule 30.04.2019
comment
Работает отлично !! Я ценю, что вы учите меня шаг за шагом. Большое вам спасибо ~ - person amity; 01.05.2019