【问题标题】:Woocommerce - Display Lowest Price on Category (Archive) Page OnlyWoocommerce - 仅在类别(存档)页面上显示最低价格
【发布时间】:2016-08-22 12:40:21
【问题描述】:

我试图在类别页面上显示最低价格而不是价格范围,同时继续在各个产品页面上显示价格范围。

我从别人的问题中找到了这个答案:

add_filter('woocommerce_variable_price_html', 'custom_variation_price', 10, 2);

function custom_variation_price( $price, $product ) {

    $price = '';

    if ( !$product->min_variation_price || $product->min_variation_price !== $product->max_variation_price ) {
        $price .= '<span class="from">' . _x('From', 'min_price', 'woocommerce') . ' </span>';
        $price .= woocommerce_price($product->get_price());
    }

    return $price;
}

它可以工作,但是当我将代码放入functions.php 时,它适用于整个站点。我只希望它适用于类别页面。

此外,当我使用此代码时,只有一个价格的商品最终不会显示任何价格。

我能做什么?

这是我的意思的屏幕截图: Screenshot of current category page

【问题讨论】:

  • 我已经用一些解释更新了我的代码......我希望这次它会起作用。
  • 嗨@LoicTheAztec,我似乎找不到你的答案?

标签: php wordpress woocommerce categories price


【解决方案1】:

如果我没看错,那么只要有价格范围,您只需显示最低价格。所以基本上你需要更改$price 的 HTML 只有在设置了产品的最低价格时(如果没有设置,那么产品只有一个价格,不需要更改)。我还包括检查它是否是类别页面。代码如下:

add_filter('woocommerce_variable_price_html', 'custom_variation_price', 10, 2);
function custom_variation_price( $price, $product ) {
    if ( ! empty($product->min_variation_price) && is_product_category() ) {
        $price = '<span class="from">' . _x('From', 'min_price', 'woocommerce') . ' </span>';
        $price .= woocommerce_price($product->get_price());
    }

    return $price;
}

【讨论】:

  • 谢谢!这对我有用?
猜你喜欢
  • 2018-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-13
  • 2019-12-04
  • 1970-01-01
  • 2019-01-26
  • 2019-02-10
相关资源
最近更新 更多