我想在<li>
清單中列出電子商務中的所有sku。我相信我應該使用foreach
週期,但我不知道如何回憶所有產品的選擇。Woocommerce:獲取所有sku產品的清單
感謝所有回覆,抱歉我的英文不好。 Greatings
我想在<li>
清單中列出電子商務中的所有sku。我相信我應該使用foreach
週期,但我不知道如何回憶所有產品的選擇。Woocommerce:獲取所有sku產品的清單
感謝所有回覆,抱歉我的英文不好。 Greatings
請試試這個。讓我知道這是否完美;)
$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;
乾杯!
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')
。
謝謝,它的工作原理。 但是另外一個問題,如果我將這個代碼放在一個小部件中,代碼保持不變,或者應該改變? 我試圖把代碼放在一個小部件預設中,但是wordpress給了我一個錯誤。 再次感謝您的幫助。 – user3324080
您錯過了一條分配$ product的產品,可能是: $ product = wc_get_product($ post-> ID) – RichardAtHome
由於@RichardAtHome提到過,您沒有聲明'$ product';您需要先獲取WC產品對象,然後才能運行任何方法。但更重要的是:**永遠不要使用query_posts。**它只適用於主查詢循環,不應該被修改。有很多很多其他方法來抓取你想要的帖子。供參考:http://wordpress.stackexchange.com/a/1755/17826 – indextwo