2

我会<li>列出电子商务中的所有 sku。我相信我应该使用foreach循环,但我不知道如何回忆所有产品的选择。

感谢所有回复,并为我糟糕的英语感到抱歉。伟大的

4

2 回答 2

8

永远,永远使用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').

于 2016-07-07T12:29:52.827 回答
1

请试试这个。让我知道这是否完美;)

$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;

干杯!

于 2014-02-18T15:56:33.627 回答