我正在开发使用Wordpress 4.6,WPML 3.5,WooCommerce Multilingual 3.8.6和WooCommerce 2.6.4版的WooCommerce多语言商店。WMPL以特定语言获得WooCommerce产品类别
该代码始终以主要语言返回类别,但从不返回指定语言的翻译。
下面是代码: -
private $lang;
function __construct($lang = "en") {
$this->lang = $lang;
}
private function getCategories() {
try {
$api = WC()->api->WC_API_Products;
$categories = $api->get_product_categories();
$products_categories = $categories["product_categories"];
foreach($products_categories as $category) {
$id = absint($category["id"]);
$category["name"] = $this->get_translated_term_name($id, "product_cat", $this->lang);
}
return $products_categories;
} catch (Exception $e) {
error_log("Caught $e");
}
}
private function get_translated_term_name($term_id, $taxonomy, $language) {
$translated_term_id = icl_object_id($term_id, $taxonomy, true, $language);
$translated_term_object = get_term_by('id', $translated_term_id, $taxonomy);
return $translated_term_object->name;
}
谢谢你的答复,但我并不想用钩子和输出的类别为HTML,我想所有类别作为一个数组,因为它会发回的输入反应JSON来一个API请求。 – Waxren