WooCommerce 显示可变产品属性

问题描述 投票:0回答:1

我正在尝试显示具有多种变体的特定产品(即 id:459)的属性,并尝试在索引页面上显示某些属性(即名称、id、产品链接和图像)。我设法获取了变体图像和 id,但是现在尝试发现很难显示产品的 URL 并显示可变的产品名称。

我试图在网上寻找答案,但甚至找不到法典或文档。有人可以帮忙吗?

这是我的工作代码,完美地显示了图像和 ID。

<?php 
$product = new WC_Product_Variable( '459' );
$variations = $product->get_available_variations();

foreach ( $variations as $variation ) {
    echo "<img src=" . $variation['image']['thumb_src'] .">";
    echo $variation['variation_id'];
    echo $variation['variation_Name ']; // (Error: "Notice: Undefined index: variation_Name in   /var/www/wp-content/themes/...")
}                    
?>

感谢您提前提供的帮助。

编辑 这是我的代码,除了没有获取属性名称之外,一切都运行良好。

我收到此错误消息:/var/www/wp-content 中的数组到字符串转换

<?php 
$product = new WC_Product_Variable( '459' ); 
$variations = $product->get_available_variations(); 

foreach ( $product->get_variation_attributes() as $attribute_name =>   $ {
 $attributes[] = array( 'name' => ucwords( str_replace( 'attribute_', '', 
wc_attribute_taxonomy_slug( $attribute_name ) ) ), 
'option' => $attribute, ); 
echo $attribute;
}

foreach ( $variations as $variation ) { 

echo '<div class="col-3">';
echo '<a href="'.$product->get_permalink().'#variations-table">';

echo $product->get_title();

echo "<img src=" . $variation['image']['thumb_src'] .">";

echo 'View Product</a>';
echo '</div>';

} 

?>

非常感谢你:)

php wordpress woocommerce product product-variations
1个回答
2
投票
/* try this below code instead*/
/* Get variation attribute based on product ID */
$product = new WC_Product_Variable( $product_id );
$variations = $product->get_available_variations();
$var_data = [];
foreach ($variations as $variation) {
if($variation[‘variation_id’] == $variation_id){
$var_data[] = $variation[‘attributes’];
}
}

/*Get attributes from loop*/
foreach($var_data[0] as $attrName => $var_name) {
echo $var_name;
}
© www.soinside.com 2019 - 2024. All rights reserved.