gpt4 book ai didi

php - Woocommerce:仅在产品页面上显示价格后缀

转载 作者:太空宇宙 更新时间:2023-11-04 06:01:54 25 4
gpt4 key购买 nike

我将以下代码添加到“My Custom Functions PHP Inserter”插件中,以在我的 woocommerce 商店中显示自定义价格后缀。

add_filter( 'woocommerce_get_price_html', 'custom_price_suffix', 100, 2 );

function custom_price_suffix( $price, $product ){
$price = $price . ' inkl. MwSt. und <a href="http://www.link.to/shippinginfo">zzgl. Versandkosten</a>';
return apply_filters( 'woocommerce_get_price', $price );
}

它有效,但它还在产品类别页面和商店页面上显示价格。我怎样才能避免这种情况?

我试过这个 css 代码但不起作用:

.woocommerce-price-suffix {
display: none;
}
.single-product .product-price-wrap .woocommerce-price-suffix {
display: block !important;
}

以下解决方案可能有效,但我不想覆盖主题中的 php 文件:hide Woocommerce price suffix on category page

我也想更改“inkl.MwSt.und zzgl.Versandkosten”的字体大小,但我不知道如何在 php 中执行此操作。试过这个 css 但没有做任何事情:

.custom_price_suffix {
font-size: small;
}

最佳答案

您可以使用内置的 is_singular()检查您是否在单个产品页面上的功能

add_filter( 'woocommerce_get_price_html', 'custom_price_suffix', 100, 2 );
function custom_price_suffix( $price, $product ) {
if(is_singular('product')) {
$price = $price . ' inkl. MwSt. und <a href="http://www.link.to/shippinginfo">zzgl. Versandkosten</a>';
}
return apply_filters( 'woocommerce_get_price', $price );
}

如果你想改变大小 - 你可以简单地将你的文本包裹在一个范围内并向它添加 CSS - 即改变你的 $price 变量为此:

$price = $price . ' <span class="make-me-small">inkl. MwSt. und <a href="http://www.link.to/shippinginfo">zzgl. Versandkosten</a></span>'; 

然后将以下内容添加到您的 CSS:

.make-me-small {
font-size: 0.8rem;
}

编辑:添加位置特定调整

根据您关于根据网站的基本语言调整链接文本的评论,有两种方法可以实现此目的:

第一个途径(也可能是最好/可接受的方式)是使用内置的字符串翻译管理功能。您可以使用 __() 来执行此操作函数并将其包裹在您的文本周围,如下所示:

$price = $price . __(' inkl. MwSt. und <a href="http://www.link.to/shippinginfo">zzgl. Versandkosten</a>', 'my-text-domain');

完成后,您会看到您的文本现在将显示在仪表板上 WPML 菜单项下的 字符串翻译 选项卡下 - 从那里您可以手动为其分配一个新的基于不同站点语言的字符串。

第二条路线是使用switch(或if语句)语句在函数内部手动添加调整:

add_filter( 'woocommerce_get_price_html', 'custom_price_suffix', 100, 2 );
function custom_price_suffix( $price, $product ) {
if(is_singular('product')) {
$language_code = apply_filters( 'wpml_current_language', NULL );
switch ($language_code) {
case 'de':
$suffix = ' inkl. MwSt. und <a href="http://www.link.to/shippinginfo">zzgl. Versandkosten</a>';
break;

case 'it':
$suffix = ' IVA e spese di <a href="http://www.link.to/shippinginfo">spedizione incluse</a>';
break;

default:
$suffix = ' incl. VAT and <a href="http://www.link.to/shippinginfo">shipping costs</a>';
break;
}
$price = $price . $suffix;
}
return apply_filters( 'woocommerce_get_price', $price );
}

关于php - Woocommerce:仅在产品页面上显示价格后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57215743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com