답변:
Wordpress 문서를 살펴보면 Wordpress Taxonomies 를 찾을 수 있습니다.
term_id
에서 한 번만 나타납니다 term_taxonomy
(열이 고유하지 않고 분류 체계에서 용어를 공유하기 전에). 이는 분류법 로드맵을 기반으로 앞으로도 계속 발전 할 수 있습니다 . 그것의 한 부분은 용어와 용어 분류 표 를 결합하는 것 입니다.
코덱스는 말한다 :
이것은 무엇을 의미 하는가?
용어는 단어입니다. 태그, 카테고리 또는 사용자 정의 분류와 같은 분류에 속할 수 있습니다. 문제는 동일한 용어를 포함하는 여러 분류법이있을 수 있다는 것입니다.
"fattening"이라는 용어가 있다고 가정 해 봅시다. 이 단어에는 ID 번호가 있습니다. 이것은 term_id입니다. 이 단어가 어떻게 사용되는지, 즉 용어가 나타나는 분류법에 의존하지 않습니다.
이제 게시물 태그로 "fattening"이라는 단어에도 숫자가 있습니다. 이것은 term_taxonomy_id입니다. "포스트 태그 'fattening'"에 해당합니다.
아마도 "fattening"이라는 카테고리가있을 수도 있습니다. term_id는 동일하지만“범주 '범주에 대한 term_taxonomy_id는 다릅니다.
이것은 디자인에 대한 더 큰 이해의 일부이므로 전체적으로 설명 할 것입니다 ... :)
WP 4.5.3에는 여전히 모든 테이블이 있습니다 ( 접두사 없이 테이블에 대해 이야기 할 것입니다 ).
게시물 용어를 읽을 수있는 이름을 얻는 경로는 모두 통과합니다.
여기에 주요 식별자를 게시 합니다 ID
- 게시물 의 ID (모든 유형)
term_relationships
의 저장 쌍을 :
object_id
- 수 수 posts.ID
(그러나 않습니다 하지 있어야합니다)
term_taxonomy_id
- 이것이 NOT 용어 (카테고리)의 ID를하지만 의 ID 관계 용어 (카테고리)와 분류 사이 ( "카테고리 유형")
term_taxonomy
여기에 주요 식별자가 term_taxonomy_id
위에 설명되어 있습니다. ^^
또 다른 중요한 열 :
term_id
- 용어의 ID (범주)
taxonomy
-용어의 분류 ( "범주 유형")를 저장합니다.
이것은 재미있을 것 같지만 초기 의도는 용어가 더 많은 분류법을 가질 수있는 능력을 추가하는 것이 었습니다 ( 일부 경우에는 의미가 있음).
용어
여기에 주요 identificator은이다 term_id
- 카테고리의 ID가
여기에 또 다른 중요한 열은 다음과 같습니다 :
name
- 읽을 카테고리 이름 예 : "음악 장르"
slug
- URL에서 사용할 수있는 예를 들어, 용어의 슬러그
따라서 게시 된 모든 게시물과 범주 이름을 가진 모든 범주 를 가져 오는 잔인한 SQL
은 다음과 같이 보일 수 있습니다 (자신의 WP DB에서 테스트 할 때 테이블에 접두사 추가).
SELECT * FROM
posts #gets posts
LEFT JOIN
term_relationships #gets posts relationships to term_taxonomies
ON(posts.ID=term_relationships.object_id)
LEFT JOIN
term_taxonomy #gets term_ids
ON(term_relationships.term_taxonomy_id=term_taxonomy.term_taxonomy_id)
LEFT JOIN
terms #finally, gets terms' names
ON(term_taxonomy.term_id=terms.term_id)
WHERE (
(posts.post_status='publish')
#optionally you can filter by a certain post_type:
#AND
#(posts.post_type='some_post_type')
)
ORDER BY posts.ID ASC
용어 자체는 범주 나 태그가 아닙니다. term_taxonomy 테이블을 통해 컨텍스트를 제공해야합니다.
term_taxonomy 테이블은 분류 체계 내에 용어를 배치합니다. 이것이 용어를 카테고리 , 태그 또는 사용자 정의 분류법의 일부로 만드는 것입니다 (또는 의 조합)로 만드는 것입니다.
term_id
용어 테이블에서 용어의 ID입니다.
term_taxonomy_id
term + taxonomy 쌍의 고유 ID입니다.
는 term_id
단지 등 항상 고유합니다 term_taxonomy_id
. 둘 다 Auto Increment
테이블 구조를 가지고 있습니다.
표는 wp_term_taxonomy
워드 프레스가 예를 들어 Woocommerce의 사용을 방해 할 수 있으므로, 반드시 카테고리가 생성되는 것을 예를 들어 있습니다 : product_tag
, product_type
, product_cat
, 그들 모두가 소위 사용자 정의 분류 체계이다. 이 테이블은 또한 부모 / 자식 구조를 바인딩합니다. 열 parent
입니다.
마지막 테이블 인 term_relationships는 post_taxonomy_id의 post_taxonomy_id에 대한 게시물 또는 링크와 같은 오브젝트를 관련시킵니다.
예를 들어 Woocommerce를 다시 선택하면이 테이블은 게시물 유형 products
을 분류 체계 product_cat
에 연결합니다. 여기에는 물론 테이블에서 검색되는 컴퓨터와 같은 namy가 포함 wp_terms
됩니다. 이 테이블은 포함 term_id
, name
, slug
와 term_group
. (개인적으로 사용한 적이없는 term_group)
위의 내용이 차이점과 Wordpress가 이러한 테이블을 사용하는 방식에 대해 좀 더 명확하게하기를 바랍니다.