WordPress 사용자 정의 필드를 만들고 사용하는 방법
게시 됨: 2020-04-23WordPress의 주요 장점 중 하나는 내장된 확장 기능 덕분에 가능한 다용성입니다. 제공하는 다양한 확장 공식 중에서 사용자 정의 필드 를 찾습니다.
WordPress에는 게시물 작성자가 게시물에 사용자 정의 필드 를 할당할 수 있는 기능이 있습니다. 이 임의의 추가 정보를 메타데이터 라고 합니다.
메타데이터는 키/값 쌍 으로 처리됩니다. 키 는 메타데이터 요소의 이름입니다. 값 은 정보가 연결된 각 개별 게시물의 메타데이터 목록에 표시될 정보입니다.
WordPress.org 문서
예를 들어 모터 세계와 관련된 개념에 대한 메타데이터를 생성하려는 경우 다음과 같이 됩니다.
- 브랜드 : 포드
- 모델 : 포커스
- 색상 : 흰색
- 출력 : 110마력
- 등
오늘의 게시물에서는 사용자 정의 필드를 만드는 방법, 사용 방법, WordPress 사용자 및/또는 개발자로서 어떻게 도움이 될 수 있는지 보여드리겠습니다. WordPress에서 코딩하는 방법에 대한 기본적인 이해가 필요하다는 점에 유의하세요… 고급 사용자 정의 필드.
WordPress 사용자 정의 필드 작동 방식
사용자 정의 필드가 무엇이고 어떻게 작동하는지 이해하는 가장 좋은 방법은 WordPress 데이터베이스를 살펴보는 것입니다. 이미 알고 계시겠지만 WordPress에서 게시물, 페이지 또는 (거의) 다른 유형의 콘텐츠를 만들 때마다 이 새로운 콘텐츠는 wp_posts (접두사는 변경될 수 있음)라는 테이블에 저장됩니다.
데이터베이스의 테이블은 이전에 작업한 다른 테이블과 같습니다. 기본적으로 "저장할 수 있는 것"을 정의하는 일련의 열과 특정 정보가 포함된 행이 있습니다. wp_posts 의 경우 열은 제목 , 내용 , 작성자 , 발행일 등입니다. 솔직히 말해서 멋진 것은 없습니다.

wp_posts 테이블.테이블 사용의 "문제" 중 하나는 테이블에 저장할 수 있는 정보가 테이블에 있는 열로 제한된다는 것입니다. 새로운 개념에 대한 정보를 저장하려는 경우에는 저장할 수 없습니다. 테이블이 이미 설정된 경우 어떻게 사용자 정의 필드를 생성할 수 있습니까? 글쎄, 충분히 간단합니다. 당신은 그것을 위해 설계된 새로운 테이블이 필요합니다.
모든 WordPress 데이터베이스에는 다음과 같은 wp_postmeta 라는 다른 테이블이 있습니다.

wp_postmeta 테이블. 이전 스크린샷에서 볼 수 있듯이 메타데이터 테이블은 meta_key 및 meta_value 열을 사용하여 키/값 쌍을 만들고 post_id 열을 사용하여 각 쌍을 특정 콘텐츠와 연결할 수 있도록 설계되었습니다. 충분히 쉽습니다!
이제 이 테이블로 작업하는 방법을 자세히 살펴보겠습니다!
새 사용자 정의 필드를 만드는 방법
이미 보았듯이 사용자 정의 필드는 항상 특정 게시물과 연결됩니다. 따라서 편집기에서 편집을 위해 일종의 사용자 인터페이스를 기대할 수 있습니다. 그렇죠? 불행히도 구텐베르그를 살펴보면, 그 어떤 것도…
WordPress 편집기에서 사용자 정의 필드를 편집하려면 고급 패널을 활성화해야 합니다. 편집기에서 오른쪽 상단 아이콘을 클릭한 다음 옵션 을 클릭합니다.

그러면 구텐베르크에서 사용할 수 있는 다양한 패널이 있는 새 창이 열립니다. 명명된 사용자 정의 필드 를 찾아 활성화합니다.

활성화되면 게시물의 사용자 정의 필드를 쉽게 만들고 편집할 수 있습니다.

이 간단한 인터페이스를 통해 원하는 만큼 키/값 쌍을 만들 수 있습니다. 예를 들어 위의 스크린샷에서 이 게시물의 시작 부분에서 소개한 일부 필드인 nelio_brand , nelio_model , nelio_color 및 nelio_hp 를 어떻게 추가했는지 알 수 있습니다.

사용자 정의 필드를 사용하는 방법
사용자 정의 필드를 사용하려면 (a) 게시물의 식별자, (b) 사용하려는 필드의 이름, (c) 사용할 위치를 결정하는 세 가지가 필요합니다. 예를 들어 위의 예에서 만든 nelio_brand 필드를 게시물 끝에 표시하고 싶다고 가정해 보겠습니다. 값을 검색하기 위해 다음과 같이 사용할 수 있는 get_post_meta 라는 함수가 있습니다.
function nelio_add_brand_field( $content ) { $brand = get_post_meta( get_the_ID(), 'nelio_brand', true ); return "{$content}\n<p><strong>Brand:<strong> {$brand}</p>"; } add_filter( 'the_content', 'nelio_add_brand_field' );이전 예에서 앞서 언급한 세 가지 사항을 다룹니다.
-
get_post_meta의 첫 번째 매개변수는 정확히 내가 관심 있는 게시물의 식별자입니다. 이 경우 현재 게시물의 ID를 반환하는get_the_ID()를 사용합니다. - 두 번째 매개변수는 메타 필드의 이름입니다(이 경우
nelio_brand). - 마지막으로, 포스트 내용의 맨 끝에 표시하고자 하는 것으로 프론트 엔드의 메타 필드를 사용하고 있습니다. 그리고 내가
the_content필터 동안 검색하여 사용하고 있기 때문에 알 수 있습니다.
이 작업의 결과는 다음 스크린샷에서 볼 수 있는 것과 유사합니다.

하지만 이것은 물론 예시일 뿐입니다! "프론트 엔드에서 인쇄하기" 이외의 다양한 방법으로 사용자 정의 필드를 사용할 수 있습니다. 예를 들어 Nelio A/B Testing은 우리가 만든 플러그인 중 하나이며 WordPress 사이트에서 분할 테스트를 실행하도록 설계되었습니다. A/B 테스트는 대체 콘텐츠를 생성해야 하며 플러그인은 사용자 정의 필드를 사용하여 대체 콘텐츠에 레이블을 지정하고 방문자가 이 콘텐츠에 액세스할 수 있는 방법과 시기를 제한합니다.
사용자 정의 필드를 관리하는 WordPress 기능
사용자 정의 필드의 값을 검색하는 메소드( get_post_meta )가 있는 것과 같은 방식으로 WordPress에는 사용자 정의 필드를 프로그래밍 방식으로 생성, 업데이트 및 삭제하는 추가 메소드( add_post_meta , update_post_meta 및 delete_post_meta )가 있습니다. 이 기능은 예상대로 작동하므로 더 이상 설명하지 않겠습니다...
고급 사용자 정의 필드란 무엇이며 어떻게 사용합니까?
이제 WordPress에서 사용자 정의 필드가 작동하는 방식을 알았으므로 이미 좋은 소식을 드릴 수 있다고 생각합니다. 사용자 정의 필드로 작업하는 프로세스를 크게 단순화하는 여러 플러그인이 있습니다!
WordPress 사이트에서 메타데이터를 생성하는 가장 잘 알려져 있고 가장 평가가 좋은 플러그인 중 하나는 Advanced Custom Fields입니다. 이를 통해 사용자 정의 필드를 더 간단한 방법으로 정의할 수 있을 뿐만 아니라 이러한 필드를 처리하기 위한 향상된 사용자 인터페이스를 즐길 수 있습니다. 이 인터페이스는 날짜, 이미지, 갤러리, 범위, 숫자 등 사용자가 설정한 값이 의미가 있고 의미적으로 의미가 있는지 확인합니다.

ACF에 대해 더 알고 싶다면 거기에 많은 리소스가 있습니다. 그러나 저는 Jo Minney의 이 강연이 여러분을 진정으로 시작할 수 있다고 생각합니다.
사용자 정의 필드에 대한 이 작은 소개가 더 나은 WordPress 개발자가 되는 길에 도움이 되기를 바랍니다!
Unsplash에서 Polina Rytova의 추천 이미지.
