【问题标题】:How do I add woocommerce custom field shortcode in sprintf?如何在 sprintf 中添加 woocommerce 自定义字段短代码?
【发布时间】:2016-02-24 15:57:22
【问题描述】:

我想在购物车产品名称中添加自定义字段短代码。目前,我不知道如何显示自定义字段值,因为代码在 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 );
                            }

                        ?>

例如,

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

【问题讨论】:

  • 为什么不使用可变乘积? “new york tee”的白色版本(又名“变体”)正是可变产品的重点。
  • 我的产品只有一种颜色。我应该为变量使用一种颜色吗?
  • 如果你只有一种颜色(而且永远不会有另一种颜色),那么为什么不直接将 T 恤命名为“New York Tee White”呢?但是是的,您可以使用“颜色”作为属性,然后创建 1 个变体。

标签: php wordpress woocommerce


【解决方案1】:

您可以在woocommerce_cart_item_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_cart_item_name?
  • 我的购物车产品名称中未显示颜色值。我把你给我的代码放在function.php中。我是不是做错了什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-29
  • 2015-05-03
  • 2019-07-29
  • 1970-01-01
  • 1970-01-01
  • 2015-07-11
  • 1970-01-01
相关资源
最近更新 更多