为了账号安全,请及时绑定邮箱和手机立即绑定

根据 WooCommerce 中的属性值显示不同的文本

根据 WooCommerce 中的属性值显示不同的文本

PHP
噜噜哒 2024-01-19 10:13:08
我有一个全局产品属性“警告”。它有两个值。现在我需要根据产品是否具有属性值 1 或值 2 显示不同的文本(如果它根本没有该属性,则不应显示任何内容。我可以用此显示文本add_action( 'woocommerce_single_product_summary', 'product_warning', 35 );function product_warning(){    global $product;    $taxonomy = 'pa_warning';    $value = $product->get_attribute( $taxonomy );    if ( $value ) {        $label = get_taxonomy( $taxonomy )->labels->singular_name;        echo '<p>My Text</p>';    }}但是如果属性值 1 为真,如何显示文本 1,如果属性值 2 为真,如何显示文本 2?
查看完整描述

2 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

相反,您将使用 2 个术语(值)来表示pa_warning和1,2为每个相关产品设置正确的术语值。那么你的代码将是:


add_action( 'woocommerce_single_product_summary', 'product_warning', 35 );

function product_warning(){

    global $product;


    $taxonomy = 'pa_warning';


    $label_name = wc_attribute_label( $taxonomy );

    $term_value = $product->get_attribute( $taxonomy );


    if ( $term_value == 1 ) {

        echo '<p>' ; __("My text message 1", "woocommerce") . '</p>';

    } elseif ( $term_value == 2 ) {

        echo '<p>' ; __("My text message 2", "woocommerce") . '</p>';

    }

}

代码位于活动子主题(或活动主题)的 function.php 文件中。它应该有效。


查看完整回答
反对 回复 2024-01-19
?
HUH函数

TA贡献1836条经验 获得超4个赞

数组或类似的东西似乎是最简单(也可能是最快)的方法。我相信 PHP 仍然会将数组中的 null 键值转换为空字符串,因此不需要声明这一点。


$warning = array(

 1 => "Warning number 1",

 2 => "Warning number 2",

);

echo $warning($term_value);


查看完整回答
反对 回复 2024-01-19
  • 2 回答
  • 0 关注
  • 27 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信