从woocommerce返回过滤产品列表

时间:2017-06-13 12:52:48

标签: wordpress woocommerce woocommerce-rest-api

我需要制作一个自定义查询,以 json 格式为每个产品返回所有产品符合我的查询及其所有图片,元和所有“高级自定义字段”acf。

我使用以下代码部分成功:

function get_woocommerce_product_list($request) {
    $query = array(
        'post_type' => 'product',
        'posts_per_page' => -1,
        'meta_query' => array(
            array(
                'key' => '_vendor',
                'value' => 'farsi',
            ),
        )
    );

    $result = [];
    $wp_query =  new WP_Query($query);

    foreach ($wp_query->posts as $post) {
        $result[$post->ID]['product'] = $post;
    }

    return $result;
}

任何帮助?

1 个答案:

答案 0 :(得分:0)

我认为代码的顶部很好,我将下面的代码更改为:

$wp_query = new WP_Query( $query );
$result = array();

if ( $wp_query->have_posts() ) {

while ( $wp_query->have_posts() ) {
$wp_query->the_post();

  $result[] = array(
   'product_name' => get_the_title(),
   'price' => get_post_meta( get_the_ID(), '_regular_price', true ),
   //find rest of values you require and put them into the array here
 );

 }
}

$json_result = json_encode($result);
return $json_result;