在 Woocommerce 的产品标题中添加产品 ID 作为后缀

Posted

技术标签:

【中文标题】在 Woocommerce 的产品标题中添加产品 ID 作为后缀【英文标题】:Add product ID as a sufix in product title for Woocommerce 【发布时间】:2021-10-20 11:54:34 【问题描述】:

我正在尝试在产品标题中添加产品 ID 作为后缀,例如:

iPhoneX - 123(其中 123 是 ID)

我需要这个的原因与我正在处理的支付网关有关。因此,该解决方案只需要在支付网关需要在结账时识别该 ID 时应用。

以下代码以我想要的方式在结帐时将产品 ID 显示为后缀。但是,下订单并重定向到第三方支付网关页面时; ID 没有显示在那里。我希望第三方支付网关也显示它。

add_filter('the_title', 'change_woocommerce_single_title', 1, 2);

function change_woocommerce_single_title($title, $id) 

if ( class_exists( 'woocommerce' ) && is_checkout())
  $title = $title . ' - ' . $id;
  
return $title;

【问题讨论】:

请分享您尝试过的代码 在单页或任何地方 这能回答你的问题吗? Changing <title> in Woocommerce page @RajkumarSharma,最初我希望它在重定向到第三方支付网关时显示在哪里。所以我猜结帐时会起作用。如果它需要在包括后端在内的所有地方显示,那将不是问题。 @jiali 编辑问题以便用代码更好地澄清 【参考方案1】:

试试这个:

// For shop
function change_woocommerce_single_title($title, $id) 

    if ( in_array( get_post_type( $id ), array( 'product', 'product_variation') ) || is_product() )
      $title = $title . ' - ' . $id;
      
    return $title;


add_filter('the_title', 'change_woocommerce_single_title', 1, 2);

// For cart
function filter_woocommerce_cart_item_name( $item_name, $cart_item, $cart_item_key )  
    
    if( $cart_item['variation_id'] )
        $id = absint( $cart_item['variation_id'] );
    else
        $id = absint( $cart_item['product_id'] );
        
    $item_name = $item_name . ' - ' . $id;

    return $item_name;
    
; 
         
add_filter('woocommerce_cart_item_name', 'filter_woocommerce_cart_item_name', 10, 3); 

【讨论】:

【参考方案2】:

您可以创建自己的函数来处理产品标题。将此代码放入您的子主题的function.php

add_filter('the_title', 'change_woocommerce_single_title', 1, 2);

function change_woocommerce_single_title($title, $id) 

   if ( class_exists( 'woocommerce' ) && is_product())
      $title = $title . ' - ' . $id;
      
    return $title;

【讨论】:

显示所有内容的 ID,包括单个产品页面上的导航菜单页面。 感谢您分享代码。我只需要显示产品的 ID 作为其标题的后缀。我希望它显示在第三方支付网关也可以识别产品标题中的 ID 的位置。我知道它有点复杂,哈哈 我设法通过将 is_product 替换为 is_checkout 使其在结帐时显示。但是,支付网关在下订单后重定向时无法识别 ID。我想这个改变必须在全球范围内应用才能起作用?任何建议将不胜感激

以上是关于在 Woocommerce 的产品标题中添加产品 ID 作为后缀的主要内容,如果未能解决你的问题,请参考以下文章

向产品属性添加新术语并将其设置在 Woocommerce 中的产品中

在 Woocommerce 的单个产品页面中添加产品备注字段

在 WooCommerce 单一产品页面上为特定产品添加自定义内容

在 Woocommerce 结帐页面上添加其他产品信息

WooCommerce 产品循环中添加 Ajax 选项的复选框添加到购物车

在 WooCommerce 特定 ID 产品页面上将自定义内容添加到多个产品中