我正在尝试从 Woocommerce 制作 Google 产品提要 - 执行此操作的可用插件不支持产品变体,这有点麻烦。
我正在一家拥有多种尺寸和颜色的服装店工作,因此要求 Google 产品提要应列出所有可用的尺寸/颜色组合,并且由于它对每个变体进行库存控制,因此没有必要列出尺寸当我们真正剩下的只有 14 号棕色时,库存中的 10 件白色。
所以,我认为我需要做的是创建一个产品提要,为每个产品运行一个循环,然后在该循环内,为每个变体运行一个嵌套循环?这有点慢,所以如果有一个更好的方法,请提出一个更好的方法!至少它只需要每月运行一次。
这是我到目前为止所拥有的:
<?php
// First get the main product details.
$args = array( 'post_type' => 'product', 'posts_per_page' => 999 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); global $product;
// Now do a second nested loop to get the variations.
$args2 = array( 'post_type' => 'product_variation', 'post_parent' =>'$id');
$variationloop = new WP_Query( $args2 );
while ( $variationloop->have_posts() ) : $variationloop->the_post();
// get the parent of each variation so we can use $parent (is this necessary???)
$parent = get_post($post->post_parent);
?>
我觉得真的完成了第一个循环,我应该能够从中调用东西,但是一旦第二个变体循环完成,我似乎无法在第一个产品循环中引用任何东西。因此 get_post($post->post_parent)
然后我做饲料。到目前为止,这似乎有效:
<item>
<title><?php echo $parent->post_title;?></title>
<link>http://mysite.com/shop/<?php echo $parent->post_name;?></link>
<g:image_link><?php echo wp_get_attachment_url( get_post_thumbnail_id() ) ?></g:image_link>
<g:price><?php echo $product->price ?></g:price>
<g:condition>New</g:condition>
<g:id><?php echo $id; ?></g:id>
<g:availability><?php echo $product->is_in_stock() ? get_option('product_in_stock') : get_option('product_out_stock'); ?></g:availability>
<g:brand>My Brandname</g:brand>
<g:product_type>Clothing & Accessories > Clothing > Swimwear</g:product_type>
<g:google_product_category>Clothing & Accessories > Clothing > Swimwear</g:google_product_category>
<g:shipping_weight><?php echo $product->get_weight();?></g:shipping_weight>
<g:mpn><?php echo $product->get_sku(); ?></g:mpn>
<?php if (get_option('rss_use_excerpt')) : ?>
<description><![CDATA[<?php echo $parent->post_excerpt; ?>]]></description>
<?php else : ?>
<description><![CDATA[<?php echo $parent->post_excerpt; ?>]]></description>
<?php endif; ?>
只有这不完整 - 我不确定如何获得我需要的所有元素。特别是,我如何检索不同表中的变体大小和颜色?