我正在尝试显示具有多种变体的特定产品(即 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>';
}
?>
非常感谢你:)
/* 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;
}