워드 프레스 커스텀 타입은 어디에 저장됩니까?


20

사용자 정의 유형은 어디에 저장됩니까? wp_posts에서 사용자 정의 유형이 작성되면 게시물 유형이로 설정되기 때문 <new_custom_post_type>입니다. 그러나 새로운 맞춤 게시물 유형의 세부 정보는 어디에 저장 되나요?

답변:


14

마침내 맞춤 게시물 유형 데이터를 찾았습니다. post_type = custom post type (예 : "products") 인 wp_post 테이블에 저장됩니다. 필드 (열) 데이터는 wp_postmeta에 저장되며 여기서 meta_key는 열 이름이고 meta_value는 열 값입니다.

이 검색어는 맞춤 게시물 유형 '제품'과 관련된 모든 데이터를 다시 표시합니다.

SELECT P.ID, P.post_title, M.meta_key, M.meta_value
FROM wp_posts AS P
INNER JOIN wp_postmeta AS M ON M.post_id = P.ID
WHERE P.post_type = 'products' and P.post_status = 'publish'
ORDER BY post_title, meta_key

12

맞춤 게시물 유형의 세부 정보는 어디에도 저장되지 않으며 register_post_type호출을 통해 각 요청과 함께 런타임에로드됩니다 .


흠, 좋아, 데이터베이스에서 정보를 검색하려고 할 때 그 정보가 보이지 않았다.
Noor

1
전혀 사실이 아닙니다.
Bainternet

3
이는 사용자 정의 게시물 유형의 정의에 해당 될 수 있지만 사용자 정의 게시물 유형의 각 인스턴스와 연관된 데이터가 어디에 저장되는지에 대한 문제는 다루지 않습니다.
Bob Jones

@ BobJones는 질문에 wp_posts테이블을 언급 하므로 게시물 데이터가 어디에 저장되어 있는지 알 수 있습니다. 그러나 질문에 대한 다른 해석이 있다면 자신의 답변을 추가해야 할 것입니다.
Milo

7

이 답변에서 @milo이 언급했듯이

포스트 유형은 실제로 데이터베이스에 별도로 저장되지 않지만 그 말은 ...

SQL을 통해

다음 SQL 쿼리를 사용하여 저장된 모든 PUBLIC 게시물 유형을 볼 수 있습니다

SELECT DISTINCT( post_type ) FROM wp_posts;

다음과 비슷한 결과가 출력됩니다.

+----------------------+
| post_type            |
+----------------------+
| attachment           |
| competition          |
| custom_css           |
| customize_changeset  |
| deprecated_log       |
| experts              |
| magazine             |
| nav_menu_item        |
| page                 |
| post                 |
| revision             |
+----------------------+

WP CLI를 통해

또한 wp cli에 액세스 할 수있는 경우 다음을 실행할 수 있습니다.

wp post-type list

다음과 같은 결과가 출력됩니다.

 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
 | name                | label                 | description  | hierarchical | public | capability_type     |
 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
 | post                | Posts                 |              |              | 1      | post                |
 | page                | Pages                 |              | 1            | 1      | page                |
 | attachment          | Media                 |              |              | 1      | post                |
 | revision            | Revisions             |              |              |        | post                |
 | nav_menu_item       | Navigation Menu Items |              |              |        | post                |
 | custom_css          | Custom CSS            |              |              |        | post                |
 | customize_changeset | Changesets            |              |              |        | customize_changeset |
 | deprecated_log      | Deprecated Calls      |              |              |        | post                |
 +---------------------+-----------------------+--------------+--------------+--------+---------------------+

이것은 OP에 대한 더 나은 대답입니다. 고마워.
MarsAndBack

4

이 기능 get_post_types을 사용하여 당시에 활성화 된 모든 게시물 유형에 대한 정보를 얻을 수 있습니다 . 특정 게시물 유형에 대한 정보를 얻으려면을 사용하십시오 get_post_type_object.


3
+1-반환 된 포스트 유형을 get_post_types사용자 정의 포스트 유형으로 만 만들려면 매개 변수 _builtin를 다음과 같이 설정할 수 있습니다.false
Nicolai

1

WordPress 기본값에는 페이지, 게시물 등과 같은 샘플 게시물 유형이 포함되어 있습니다. Wordpress는 자체 사용자 지정 게시물 유형을 만들 수도 있습니다. 기본 및 사용자 정의 게시물은 모두 "wp_posts"테이블의 "post_type"열을 기반으로 모든 게시물 유형을 구분하여 단일 테이블 "wp_posts"에 저장됩니다.

예 :
pages-> post_type = "page",
testiminials-> post_type = "testimonials"

이 post_types에 대한 자세한 정보는 "wp_postmeta"테이블에서 사용 가능합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.