Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在sprintf中添加自定义字段短码?_Php_Wordpress_Woocommerce - Fatal编程技术网

Php 如何在sprintf中添加自定义字段短码?

Php 如何在sprintf中添加自定义字段短码?,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我想在购物车产品名称中添加自定义字段快捷码。现在,我不知道如何显示自定义字段值,因为代码在sprintf中 我在woocommerce产品中创建了一个自定义字段。海关字段称为颜色。我希望购物车产品名称打印出自定义字段值 自定义字段短代码 <?php echo get_post_meta( get_the_ID(), 'color', true ); ?> 购物车产品名称 <?php

我想在购物车产品名称中添加自定义字段快捷码。现在,我不知道如何显示自定义字段值,因为代码在sprintf中

我在woocommerce产品中创建了一个自定义字段。海关字段称为颜色。我希望购物车产品名称打印出自定义字段值

自定义字段短代码

   <?php echo get_post_meta( get_the_ID(), 'color', true ); ?>

购物车产品名称

                        <?php
                            if ( ! $_product->is_visible() ) {
                                echo apply_filters( 'woocommerce_cart_item_name', $_product->get_title(), $cart_item, $cart_item_key ) . '&nbsp;';
                            } else {
                                echo apply_filters( 'woocommerce_cart_item_name', sprintf( '<a class="items-info" href="%s">%s </a>', esc_url( $_product->get_permalink( $cart_item ) ), $_product->get_title() ), $cart_item, $cart_item_key );
                            }

                        ?>

比如说,

我的产品名称是“纽约T恤”,我的自定义字段颜色值是“白色” 我希望它像“纽约T恤-白色”一样显示在我的woocommerce购物车产品名称中。我还想在产品名称和自定义字段值之前添加一个破折号。锂 “纽约T恤-白色”
有人能帮我吗?谢谢。

您可以在
woocommerce\u cart\u item\u name
上添加过滤器来修改标题

function my_custom_cart_product_name_filter( $title, $item ) {
    $color = get_post_meta( $item['product_id'], 'color', true ); 
    return $color ? $title . sprintf(" Color - %s", $color) : $title;
}
add_filter( 'woocommerce_cart_item_name', 'my_custom_cart_product_name_filter', 10, 3 );

谢谢我是否将此代码放在function.php中?其他页面中是否有任何内容?什么是woocommerce\u cart\u item\u name?颜色值未显示在我的购物车产品名称中。我把你给我的代码放在function.php中。我做错什么了吗?为什么不使用可变产品?“纽约T恤”的白色版本(又名“变体”)正是可变产品的重点。我对产品有一种颜色。我应该使用一种颜色作为变量吗?如果你只有一种颜色(而且永远不会有另一种),那么为什么不把T恤命名为“纽约T恤白”?但是,可以使用“颜色”作为属性,然后创建1个变体。