Как отобразить ЦЕНУ woocommerce на тексте ТЕЛА продукта - используя SHORTCODE? - PullRequest
0 голосов
/ 04 февраля 2019

Я пишу некоторые детали каждого продукта (краткое / длинное описание) по woocommerce.

Я хотел бы вставить SHORTCODE в описание, которое показывает текущую ЦЕНУ (продажа / обычная).на бэкэнде это должно выглядеть примерно так:

"Купить сейчас, только за [wc_price] $"

есть какой-нибудь шорткод, который я могу использовать для этого?

Ответы [ 2 ]

0 голосов
/ 22 мая 2019

Это один из самых простых фрагментов кода, который делает то, что вам нужно, без необходимости ввода идентификатора вручную:

function my_shortcode_product_price() {
    $html = '';

    global $product;

    $price = wc_get_price_to_display( $product, array( 'price' => $product->get_price() ) );

    $args = array(
            'ex_tax_label'       => false,
            'currency'           => 'USD',
            'decimal_separator'  => '.',
            'thousand_separator' => ' ',
            'decimals'           => 2,
            'price_format'       => '%2$s %1$s',
        );

    $html = "<span>" . wc_price( $price, $args ) . "</span>";

    return $html;
 }
 add_shortcode( 'product_price', 'my_shortcode_product_price' );

Приведенный выше код помещается в файл functions.php вашей активной темы.После этого вы можете использовать шорткод так:

[product_price]
0 голосов
/ 04 февраля 2019

Here You Go: добавьте этот код в свою функцию. Php

    function short_code_woo_comm_desc( $atts ) {
$atts = shortcode_atts( array(
    'id' => null
), $atts, 'tag_for_short_code_price' );

if ( empty( $atts[ 'id' ] ) ) {
    return '';
}

$product = wc_get_product( $atts['id'] );

if ( ! $product ) {
    return '';
}

       return $product->get_price_html();
    }

    add_shortcode( 'tag_for_short_code_price', 'short_code_woo_comm_desc' );

Использование:

    [tag_for_short_code_price id="101"]
...