Как отображать продукты WooCommerce в зависимости от города? - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь отобразить продукты поставщиков в wp API на основе названия города. Если я введу (wp-json / plugin / v1 / products /? City = dhaka) в этом URL. Я хочу показать все товары продавца в этом (Дакка) городе. Теперь мне нужны все идентификаторы продавцов этого города, или вы можете предложить мне другой способ. Заранее спасибо. Мой код пока что -

function my_awesome_func( $data ) {
$users = get_users();
foreach ( $users as $user ) {

    if ( in_array( 'seller', $user->roles, true ) ) {

        if(strtolower($data['city']) === strtolower(get_user_meta($user->ID, 'city_name', true))){

            $posts = new WP_Query( array(
                'author' => $user->ID, //(Here I want to get the ids for specific vendors)
                'post_type' => 'product'
            ) );
            if($posts->have_posts()){
                while($posts->have_posts()){
                    $posts->the_post();
                    $arr[] = array(
                        'vendor_name'=>get_the_author(),
                        'product_title'=>get_the_title()
                    );
                }
            }
            wp_reset_postdata();
        }
    }
}
if(isset($arr)){
    return $arr;
}else{
    return null;
}
}
add_action( 'rest_api_init', function () {
  register_rest_route( 'myplugin/v1', '/products/', array(
    'methods' => 'GET',
    'callback' => 'my_awesome_func',
  ) );
} );
...