반응형
WooCommerce의 카테고리 및 하위 카테고리는 어떻게 DB에 저장됩니까?
WordPress 플러그인 - WooCommerce에서 카테고리 및 하위 카테고리에 문제가 있습니다.카테고리와 서브 카테고리를 작성하는 스크립트를 만들고 있는데, 문제는 이 모든 것이 WooCommerce DB 구조에서 어떻게 작동하는지 완전히 이해하지 못한다는 것입니다.
그게 내가 할 수 있었던 일이야:
"wp_terms"에서:
term_id | name | slug | term group
20 | Parent category | parent | 0
21 | Children category | children | 0
"wp_term_taxonomy"에서:
term_taxonomy_id | term_id | taxonomy | description | parent | count
1 | 20 | product_cat | | 0 | 0
2 | 21 | product_cat | | 20 | 0
그건 먹히는데 왜 안 먹히죠?
"wp_term_taxonomy"에서:
term_taxonomy_id | term_id | taxonomy | description | parent | count
1 | 20 | product_cat | | 21 | 0
2 | 21 | product_cat | | 0 | 0
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;
}
option_name "product_cat_children"에 대한 테이블 wp_handless를 조사해야 합니다. 여기에는 직렬화된 카테고리 계층이 있습니다.
한쪽은 부모이고 다른 한쪽은 자녀이기 때문에 이 관계를 정의하면 그 반대는 안 되는 것이 맞다.
이제 한 단계 더 진행해야 합니다: wp_term_relations의 올바른 제품에 catoegory를 추가합니다.
문제가 생겼을 때:두 데이터베이스가 올바르게 채워졌음에도 불구하고 하위 카테고리는 표시되지 않았습니다.다음은 도움이 되었습니다.
- wp_options 테이블의 product_cat_children 필드의 값을 삭제합니다.
- WooCommerce의 관리 패널을 통해 주요 값 업데이트
product_cat_children 필드의 값이 업데이트됩니다.
모든 것이 잘 되었다.
언급URL : https://stackoverflow.com/questions/17338454/how-do-categories-and-subcategories-for-woocommerce-are-saved-in-db
반응형
'programing' 카테고리의 다른 글
타이머가 있는 Jquery/Ajax 콜 (0) | 2023.03.02 |
---|---|
jQuery ajax request with json response, 어떻게 해야 하나요? (0) | 2023.03.02 |
Angular 템플릿에서 개체를 디버깅하는 방법(html 파일) (0) | 2023.03.02 |
스프링 부트 1.2.3의 경우 JSON 시리얼라이제이션에서 ignore null 값을 설정하려면 어떻게 해야 합니까? (0) | 2023.03.02 |
Retrofit 2.0은 Json이 올바른 것처럼 보이는 동안 MalformedJsonException을 얻습니까? (0) | 2023.03.02 |