【问题标题】:Adding a different prefix to two separate product categories为两个单独的产品类别添加不同的前缀
【发布时间】:2021-10-13 02:43:22
【问题描述】:

我第一次尝试网页设计,因为我正在为我的电话服务和标牌设计公司建立一个网站。我正在使用 wordpress 构建我的网站,我的商店是 woocommerce 商店,我正在尝试根据它们所在的类别为价格添加两个不同的后缀。一个后缀是每月,另一个是每小时。我试图在我的子主题functions.php中使用下面的代码来做到这一点,但我相信我的代码出错了。你能帮我把代码弄对吗?

add_filter( 'woocommerce_get_price_html', 'conditional_price_suffix', 20, 2 );
function conditional_price_suffix( $price, $product ) {
$product_categories = array('telephone','signage');

if( has_term( $product_categories, 'telephone', $product->get_id() ) )
    $price .= ' ' . __('per month');

if( has_term( $product_categories, 'signage', $product->get_id() ) )
    $price .= ' ' . __('per hour');

return $price;

}

在放弃并在这里查看之后,我也发现了这段代码,虽然它看起来应该可以工作,但不适用于我的 woocommerce。

function conditional_price_suffix( $price, $product ) {
$product_id = $product->is_type('variation') ? $product->get_parent_id() 
: $product->get_id();
$product_categories = array('telephone');
$product_categories2 = array('signage');
if( has_product_categories( $product_categories, $product_id ) ) {
    $price .= ' ' . __('per month');
} elseif( has_product_categories( $product_categories2, $product_id ) ) 
{
    $price .= ' ' . __('per hour');
}
return $price;
}

【问题讨论】:

  • 嗨@Dan,当你说“我相信我的代码出错了”时,它并没有让我们合作。您能否将问题定义为您对结果的期望,无论是字面意思还是概念截图,以及实际结果?
  • 好吧,我的逻辑表明这段代码应该可以工作,但它不能。任何类别的 woocommerce 价格都没有添加后缀。所以我想让这段代码正常工作,这样它就为这两个类别添加了价格后缀。

标签: javascript php wordpress woocommerce


【解决方案1】:

它可以像这样对 has_term() 进行非常小的更改:

add_filter( 'woocommerce_get_price_html', 'conditional_price_suffix', 20, 2 );
function conditional_price_suffix( $price, $product ) {
    $product_id = $product->get_id();
    if( has_term('telephone','product_cat', $product_id ) )
        $price .= ' ' . __('per month');

    if( has_term('signage','product_cat', $product_id ) )
        $price .= ' ' . __('per hour');

    return $price;

}

【讨论】:

  • Rajeev 你太棒了,非常感谢你,这段代码中有没有办法设置字体大小?也许是垂直对齐,因为我希望它更小,靠近顶部的价格:)
  • 谢谢兄弟,我很乐意帮助你。
  • 是的,您可以像这样添加类并根据类管理文本/标签: $price .= ' ' 。 __('
    。价格标签{font-size:12px}
猜你喜欢
  • 1970-01-01
  • 2013-05-05
  • 2018-06-09
  • 2022-06-10
  • 2011-09-15
  • 1970-01-01
  • 2021-04-29
  • 2021-05-19
  • 2018-12-16
相关资源
最近更新 更多