【发布时间】:2014-02-18 15:39:00
【问题描述】:
我想进入一个<li> 列表中的所有 sku 在电子商务中。
我相信我应该使用foreach循环,但我不知道如何回忆所有产品的选择。
感谢所有回复,并为我的英语不好感到抱歉。 伟大的
【问题讨论】:
标签: wordpress e-commerce woocommerce product skus
我想进入一个<li> 列表中的所有 sku 在电子商务中。
我相信我应该使用foreach循环,但我不知道如何回忆所有产品的选择。
感谢所有回复,并为我的英语不好感到抱歉。 伟大的
【问题讨论】:
标签: wordpress e-commerce woocommerce product skus
Never, ever use query_posts。它仅用于主查询循环,绝不应修改。有很多很多其他方法可以获取您想要的帖子。例如:
$args = array(
'post_type' => 'product',
'posts_per_page' => -1
);
$wcProductsArray = get_posts($args);
if (count($wcProductsArray)) {
foreach ($wcProductsArray as $productPost) {
$productSKU = get_post_meta($productPost->ID, '_sku', true);
$productTitle = get_the_title($productPost->ID);
echo '<li>' . $productSKU . '</li>';
}
}
值得注意的是,此方法只会获取简单产品,不会包含产品变体。如果您也想获取这些,则需要将 $args 更新为 'post_type' => array('product', 'product_variation')。
【讨论】:
请试试这个。让我知道这是否完美;)
$args = array( 'post_type' => 'product', 'posts_per_page' => -1 );
query_posts( $args );
if( have_posts() ):
echo '<ul>';
while ( have_posts() ) : the_post();
echo '<li>'. $product->get_sku() . '</li>';
endwhile;
echo '</ul>';
endif;
干杯!
【讨论】:
$product;您需要先获取 WC 产品对象,然后才能对其运行任何方法。但更重要的是:永远不要使用 query_posts。 它仅用于主查询循环,永远不要修改。有很多很多其他方法可以获取您想要的帖子。供参考:wordpress.stackexchange.com/a/1755/17826