在 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 单一产品页面上为特定产品添加自定义内容