2013-06-27 13 views
6

Mam problem z kategoriami i podkategoriami wtyczki Wordpress - Woocommerce. Tworzę skrypt, który tworzy kategorie i podkategorie, problemem jest to, że nie do końca rozumiem, jak to wszystko działa w strukturze Woocommerce DB.Jak kategorie i podkategorie dla Woocommerce są zapisywane w DB?

To co udało mi się zrobić:

w "wp_terms":

term_id | name    | slug  | term group 
20  | Parent category | parent | 0 
21  | Children category | children | 0 

w "wp_term_taxonomy":

term_taxonomy_id | term_id | taxonomy | description | parent | count 
1    | 20  | product_cat |    | 0  | 0 
2    | 21  | product_cat |    | 20  | 0 

I to działa, ale dlaczego, do cholery, to don "t:

w" wp_term_taxonomy ":

term_taxonomy_id | term_id | taxonomy | description | parent | count 
1    | 20  | product_cat |    | 21  | 0 
2    | 21  | product_cat |    | 0  | 0 

Jakieś namiary?

Ogromne podziękowania dla wszystkich z góry. :)

+0

Co rozumiem, chcesz utworzyć kategorię/podkategorię z frontendu lub skryptu, prawda? – Denish

+0

Myślę, że to pomoże, jeśli opublikujesz swój kod, który nie działa tutaj. – designtocode

Odpowiedz

0

Może dlatego, że jedno jest rodzicem, a drugie dziecko, więc jeśli zdefiniujesz tę relację, to dobrze, że przeciwieństwo nie powinno działać.

6
function getParentCategories() { 
    global $wpdb; 
    $sql = "SELECT term_id as id, name, slug FROM wp_terms where term_id in (SELECT term_id FROM wp_term_taxonomy where parent = 0 and taxonomy = 'category') order by name asc"; 
    $parents = $wpdb->get_results($sql); 
    return $parents; 
} 

function getChildCategories($id) { 
    global $wpdb; 
    $sql = "SELECT term_id as id, name, slug FROM wp_terms where term_id in (SELECT term_id FROM wp_term_taxonomy where parent = $id and taxonomy = 'category') order by name asc"; 
    $children = $wpdb->get_results($sql); 
    return $children; 
} 
+1

Należy zwrócić uwagę na formatowanie kodu. – Mike

+0

'getParentCategories()' pobiera wszystkie kategorie nadrzędne.but, jak pobrać tylko aktywną kategorię nadrzędną – Prabs

0

Trzeba patrzeć na wp_options stołowych dla OPTION_NAME „product_cat_children”, nie jest w odcinkach kategoria hierarchia.

Powiązane problemy