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