Добавьте пользовательский текст под ценой рекомендуемых товаров в виджете товаров Woocommerce - PullRequest
0 голосов
/ 12 ноября 2018

Я пытаюсь добавить строку текста под цену моих рекомендуемых продуктов на моей домашней странице. Я попытался отредактировать content-widget-product.php так, чтобы это выглядело так -

if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

global $product;

if ( ! is_a( $product, 'WC_Product' ) ) {
    return;
}

?>
<li>
    <?php do_action( 'woocommerce_widget_product_item_start', $args ); ?>

    <a href="<?php echo esc_url( $product->get_permalink() ); ?>">
        <?php echo wp_kses_post( $product->get_image() ); ?>
        <span class="product-title"><?php echo esc_html( $product->get_name() ); ?></span>
    </a>

    <?php if ( ! empty( $show_rating ) ) : ?>
        <?php echo wp_kses_post( wc_get_rating_html( $product->get_average_rating() ) ); ?>
    <?php endif; ?>

    <?php echo wp_kses_post( $product->get_price_html() ); ?>
    <p class="deliveryline">DELIVERY THROUGHOUT GREATER CAPE TOWN AREA</p>

    <?php do_action( 'woocommerce_widget_product_item_end', $args ); ?>
</li>

Я добавил «Доставка по всей линии» ... но она ничего не делает. Может кто-нибудь, пожалуйста, скажите мне, почему это не работает. Спасибо!

1 Ответ

0 голосов
/ 12 ноября 2018

Попробуйте следующий код, который добавит ваш пользовательский текст в виджет Товары для избранных товаров только по цене на домашней странице:

add_action( 'woocommerce_widget_product_item_end', 'home_widget_features_products', 10, 1 );
function home_widget_features_products( $args ){
    global $product;

    // Featured product on home page (when using the loop)
    if( $product->is_featured() && is_front_page() )
        echo '<p class="deliveryline">' . __("DELIVERY THROUGHOUT GREATER CAPE TOWN AREA", "woocommerce") . '</p>';
}

Код входит в файл function.php вашего активного ребенкатема (активная тема).Протестировано и работает.

enter image description here


Добавление: Если вы используете шорткод на домашней странице, например:

[products limit="3" columns="3" visibility="featured"]

Вы будете использовать следующий код (который работает для продуктов в цикле) :

add_action( 'woocommerce_after_shop_loop_item_title', 'home_loop_features_products', 20 );
function home_loop_features_products(){
    global $product;

    // Featured product on home page (when using the loop)
    if( $product->is_featured() && is_front_page() )
        echo '<p class="deliveryline">' . __("DELIVERY THROUGHOUT GREATER CAPE TOWN AREA", "woocommerce") . '</p>';
}

Код находится в файле function.php вашего активного ребенкатема (активная тема).Протестировано и работает.

enter image description here


Для отображения этого пользовательского текста везде для всех продуктов (во всех Woocommerceархивировать страницы как магазин и во всех циклах Woocommerce как связанные продукты, продажи, перекрестные продажи ...)

Вы будете использовать тот же код без оператора if:

add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_products_loop', 20 );
function woocommerce_products_loop(){
    global $product;

    echo '<p class="deliveryline">' . __("DELIVERY THROUGHOUT GREATER CAPE TOWN AREA", "woocommerce") . '</p>';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...