GET_POST仅获取最新产品

时间:2017-11-21 作者:freemason_17

我有一个建立在Woocommerce上的网站,但我已经无法访问开发人员。我不是程序员,所以CSS更改之外的任何内容都会给我带来很多问题。有一段代码运行得很好,但我已经向站点添加了一个附加项,现在它只会获取最近添加的项。我认为问题在于get\\u帖子只收集最新产品,我需要它来收集所有产品。我很确定我已经把范围缩小到以下两行:

$products = get_posts(array(\'post_type\' => \'product\'));

$product = wc_get_product($products[0]->ID);

这需要循环吗?对不起,我真的没有能力处理这个问题,很难找到一个人能帮我解决这样一个问题。

2 个回复
SO网友:Temani Afif

为了获得所有产品,您需要指定选项post_per_page 并将其设为-1。如果要获取所有产品数据,还需要一个循环。

您可以尝试以下代码:

$products = new WP_Query(array(\'post_type\' => \'product\', \'posts_per_page\' => -1));

    while ($products->have_posts()) : $products->the_post();
        $id = get_the_ID();
        $product = new WC_Product($id);
        //your remaining code to get all product info
    endwhile; 

SO网友:freemason_17

我可能问得不好,但我确实在朋友的帮助下找到了答案。我确实需要创建一个循环。问题是,我打电话给所有post\\u类型的产品,但后来我只要求最新的产品。非常简单,可以添加循环语句,而且很好。

$products = get_posts(array(\'post_type\' => \'product\'));
foreach($products as $product) {
$product = wc_get_product($product->ID);

结束

相关推荐