json api контроллер для изображений категории woocommerce

Я пытаюсь использовать json api для получения данных по woocommerce. С помощью обычного wp jason api я могу использовать пользовательский тип поста «product», чтобы получить большую часть моих постданных, но мне также нужны данные категории, такие как имя и особенно изображения категорий. Для этого я решил написать простой контроллер вокруг функции get_terms (‘product_cat’). Бьюсь об заклад, это мой недостаток знаний php oop, где я не могу добавить ключ (изображение), значение (image_url). Я дошел до того, что добавил в свой json только последние детали пары изображений, но мне бы очень хотелось найти эти детали для каждого объекта категории в виде значения изображения между всеми остальными парами ключ-значение

Вот мой контроллер:

        <?php

/*
Controller name: WooCommerce Category Images
Controller description: Get Woocommmerce category images controller
*/

final class JSON_API_woocatimages_Controller {

public function info() {
return array(
'version' => '1.0'
);
}

public function get_category_images() {
$args = array(
'number'     => $number,
'orderby'    => $orderby,
'order'      => $order,
'hide_empty' => $hide_empty,
'include'    => $ids
);

$product_categories = get_terms( 'product_cat', $args );
foreach( $product_categories as $cat ) {

// get the thumbnail id user the term_id
$thumbnail_id = get_woocommerce_term_meta( $cat->term_id, 'thumbnail_id', true );
// get the image URL
$image = wp_get_attachment_url( $thumbnail_id );
// here i probably do something wrong.....
$product_categories['image'] = $image;

}
return array(
"WooCommerce Categories" => $product_categories
);

}
}

Вот результат: http://funshopping.mystagingwebsite.com/api/woocatimages/get_category_images/

Я мог бы использовать некоторую помощь в том, как добавить эти данные изображения для каждого массива product_categories И / ИЛИ как сделать это по-разному с помощью стандартных методов json api, например, ‘get_category_index’. Честно говоря, я понятия не имею, кто его использует, кроме как вернуть индекс категории. То же самое с контроллером, который я видел о том, как вернуть индекс меню, но я хотел бы иметь возможность получить значения и идентификаторы фактического используемого меню. Я уверен, что я что-то здесь упускаю.

0

Решение

Контроллер должен быть:

            <?php

/*
Controller name: WooCommerce Category Images
Controller description: Get Woocommmerce category images controller
*/

final class JSON_API_woocatimages_Controller {

public function info() {
return array(
'version' => '1.0'
);
}

public function get_category_images() {
$args = array(
'number'     => $number,
'orderby'    => $orderby,
'order'      => $order,
'hide_empty' => $hide_empty,
'include'    => $ids
);

$product_categories = get_terms( 'product_cat', $args );
foreach( $product_categories as $cat ) {

// get the thumbnail id user the term_id
$thumbnail_id = get_woocommerce_term_meta( $cat->term_id, 'thumbnail_id', true );
// get the image URL
$image = wp_get_attachment_url( $thumbnail_id );

$cat->{'image'}=$image;

}

return array(
"WooCommerce Categories" => $product_categories
);

}
}
0

Другие решения

Других решений пока нет …