2014-10-25 24 views
6

Tôi đang xây dựng một plugin cho woocommerce và tôi gặp một số rắc rối. Tôi đang cố gắng để có được tất cả các loại sản phẩm avalible.get_terms cung cấp "phân loại không hợp lệ" từ plugin

mã đơn giản trông như thế này:

$cats = get_terms('product_cat', array('hide_empty' => 0, 'orderby' => 'ASC', 'parent' =>0)); 
print_r($cats); 

này mang lại cho tôi

WP_Error Object 
(
    [errors:WP_Error:private] => Array 
     (
      [invalid_taxonomy] => Array 
       (
        [0] => Invalid taxonomy 
       ) 
     ) 
    [error_data:WP_Error:private] => Array 
    (
    ) 
) 

Do i cần phải treo này cho một số init đặc biệt hoặc một cái gì đó? Tôi đã thử cùng một mã trong functions.php nhưng với cùng một lỗi.

EDIT: Vâng, tôi đã tìm thấy một soluiton cho vấn đề. Tôi đã thêm

add_action('init', 'runMyPlugin'); 

đã thực hiện thủ thuật!

+3

Như bạn đã phát hiện ra, nguyên tắc phân loại không được đăng ký cho đến khi 'móc init', vì vậy bạn không thể truy vấn cho đến khi ít nhất' init'. Thay vì chỉnh sửa, hãy thêm giải pháp của bạn làm câu trả lời. – helgatheviking

Trả lời

0

Chỉ cần thêm một đoạn mã ví dụ đầy đủ

add_action('init', 'my_get_woo_cats'); 

function my_get_woo_cats() { 
    $cats = get_terms(array('taxonomy' => 'product_cat','hide_empty' => 0, 'orderby' => 'ASC', 'parent' =>0)); 
    print_r($cats); 
} 
Các vấn đề liên quan