Fir*_*fog 2 php methods wordpress product woocommerce
我正在尝试制作一个 Ajax 弹出式购物车,其中产品将动态添加。除了产品变化之外,一切都运行良好。当可变产品添加到购物车时,它不显示变体名称:
<?php
$items = WC()->cart->get_cart();
foreach($items as $item => $values) {
$_product = wc_get_product( $values['data']->get_id() );
$product_link = get_permalink( $values['data']->get_id() );
$title = $_product->get_title();
$variations = wc_get_formatted_cart_item_data($values,true);
echo '<a href="'.$product_link.'">'. $title.'</a>';
echo $variations;
}
?>
Run Code Online (Sandbox Code Playgroud)
首先,您只需使用WC_Product
方法 get_name()
(请参阅模板中cart/minicart.php
的第 36 行)替换代码中的行:
$title = $_product->get_title();
Run Code Online (Sandbox Code Playgroud)
和:
$title = $_product->get_name();
Run Code Online (Sandbox Code Playgroud)
重要提示:在某些情况下,您需要添加以下行(取决于您想要显示的内容和位置):
Run Code Online (Sandbox Code Playgroud)// Force displaying variation attributes in the product name (in cart/minicart/checkout) add_filter( 'woocommerce_product_variation_title_include_attributes', '__return_true' ); // (Optional) Force displaying product variation attributes as separated formatted metadata (in cart/minicart/checkout) add_filter( 'woocommerce_is_attribute_in_product_name', '__return_false' );
代码位于活动子主题(或活动主题)的functions.php 文件中。
要测试它,将此代码添加到主题
functions.php
文件后,首先清空购物车,因为购物车片段缓存在迷你购物车(Ajax)中。
这次它将显示变体名称。