programing

WordPress 설명이 있는 사용자 지정 게시 유형 아카이브

minimums 2023. 9. 15. 20:53
반응형

WordPress 설명이 있는 사용자 지정 게시 유형 아카이브

저는 공통적인 디자인 패턴을 가지고 있습니다. WordPress에서 어떻게 하면 가장 잘 실행할 수 있을지 잘 모르겠습니다.레이아웃은 개요 페이지의 포스트 티저(제목, 다듬어진 본문, 이미지) 목록입니다.예를 들어 example.com 이 보트 안전 회사이고 example.com/classes 에는 archive.posttype 또는 archive-$posttype을 사용하는 클래스 유형의 게시물 목록이 있다고 가정해 보겠습니다.php

지금까지 그것은 아주 단순하고 기본적인 워드프레스 행동입니다.하지만 이 개요 페이지에 이러한 유형의 정보에 대한 전반적인 소개 정보를 알고 싶습니다.또한, 제가 10개의 맞춤형 게시물 유형을 가지고 있다고 가정하고, 각각의 유형은 아카이브 페이지에 목록과 일반적인 소개 문단과 함께 이 패턴을 따를 것입니다.

가 하고 싶지 않은 것은 이러한 유형별로 페이지가 있고, 페이지 템플릿에서 해당 유형별로 사용자 지정 쿼리가 수행되는 것입니다.게시물 유형 자체(해당 유형의 게시물이 아니라 유형 자체)에 설명과 더 나은 사용자 지정 필드를 연결할 수 있는 방법이 있다면 이상적인 시나리오가 될 것입니다.이상적으로 이 모든 것을 archive.php 템플릿으로 포장하고 싶습니다.

이걸 해낼 수 있는 좋은 방법을 아는 사람?

이것은 도움이 될 수도 있고 그렇지 않을 수도 있지만 코드로 게시 유형을 만들겠지만 사용자 정의 필드 자체에 고급 사용자 정의 필드를 사용할 것입니다.

게시물 유형 생성 시 has archive에 대한 옵션이 있으며, no로 설정하면 목록 보기 등에 대한 표준 URL이 생성되지 않습니다.archive.php를 모든 게시 유형을 포함하도록 수정할 수도 있습니다.

당신의 서버에 워드프레스 커스텀 포스트 타입이 존재하는 방식에 대해 당신은 혼란스러워 하는 것 같습니다.기본적으로 그것들은 php 코드에만 존재하기 때문에 wp 시스템이 로딩될 때마다 커스텀 코드가 실행되어 커스텀 포스트 타입을 생성합니다...당신은 기본적으로 이 단계에서 포스트 타입의 규칙을 설정하고 있습니다 -- 그래서.

  1. 사용자 지정 게시물 유형 이름
  2. 게시물 유형에 대한 인수(google 게시물 유형 생성)
  3. 사용자 정의 분류법
  4. 관리 화면의 메타 상자(사용자 지정 필드를 사용하지 않는 것이 좋습니다...)

Wordpress를 누르면 게시 유형이 public이고 has_archive가 적절한 템플릿을 사용하여 게시 유형에 대한 URL 요청을 해결합니다.예를 들어 "mypost"의 포스트 유형을 입력합니다.이 경우 www.example.com/mypost 을 입력하면 테마(http.jp 또는 archive-mypost.jp)에서 아카이브 보기가 반환됩니다.이 파일은 테마에 있으며 모든 게시물 유형의 아카이브를 포함하도록 수정할 수 있습니다(게시물에 대한 전체 제어를 위해 get_posts를 wp_query로 대체).

이러한 보관 페이지에는 get_posts / wp_query라는 함수가 표시된 다음 각 항목을 순환하는 표준 루프 구조가 표시됩니다.이 함수들은 데이터베이스에서 wp_posts 테이블을 쿼리하여 쿼리 중인 post_type의 행을 반환합니다(함수를 찾도록 요청)(wp_posts의 DB 및 post_type 열 참조).post id(wp_posts의 행 고유 식별자)를 사용하는 post_meta라는 테이블에는 무제한의 추가 필드를 저장하는 보조 테이블도 있습니다(문자 그대로 나를 거기에 데려가지 마십시오).get_post_meta() (google it)을 사용하여 이 정보를 표시할 수 있습니다.

그렇다면 테마가 설치되어 있다고 가정하면 어디에 남습니까?(여기서 하위 테마를 만드는 것이 가장 좋습니다)

  1. 함수 파일에 사용자 지정 게시 유형을 생성합니다. 인수 배열에 have_false 값이 false입니다.
  2. functions 파일에 원하는 사용자 정의 필드에 메타박스 기능 추가 (google this, 매우 쉽게 실행 가능)
  3. archive.php를 수정하여 모든 게시 유형에 대해 새 쿼리를 실행합니다(google wp_query, 여러 게시 유형을 쿼리할 수 있음).
  4. 설명, 기본 저장 동작과 같은 다른 정보는 함수 파일에 있는 php를 사용하여 설정하고 수정하려는 동작(예: 게시글 저장 등)에 연결할 수 있습니다.

register_post_type()에는 빈 문자열로 기본 설정되는 description arg가 있습니다.이를 사용하여 다음과 같은 설명을 얻을 수 있습니다.

$obj = get_post_type_object( 'my_post_type' );
echo $obj->description;

제가 제대로 이해했다면, 각 게시물 유형별로 다른 설명을 로드하고 하나의 archive.php를 유지하면 됩니다. 기본적으로 다음과 같이 설명을 표시하면 됩니다.

<?php
if (get_the_post_type_description()) {
     echo get_the_post_type_description();
}
?>

언급URL : https://stackoverflow.com/questions/26921658/wordpress-custom-post-type-archive-with-description

반응형