워드프레스 강좌 / 사용자 정의 필드 입력하고 출력하기

사용자 정의 필드

사용자 정의 필드를 이용하여 글에 추가적인 정보를 입력하고 출력할 수 있습니다. 그 정보를 글 본문에 직접 입력할 수도 있지만, DB에 저장하면 출력하는 것 이외에도 여러 가지로 활용 가능하다는 장점이 있습니다.

사용자 정의 필드 입력하기

사용자 정의 필드는 글 쓰는 화면에서 입력합니다. 사용자 정의 필드를 입력하는 폼이 보이지 않는다면, 화면 옵션에서 [사용자 정의 필드]에 체크합니다.

글 입력 폼 밑에 사용자 정의 필드가 있습니다. [새로 입력]을 클릭합니다.

이름과 값을 입력 후 [사용자 정의 필드 추가] 버튼을 클릭하면 필드가 생성됩니다.

사용자 정의 필드는 여러 개 생성할 수 있습니다. 다음은 두 개의 사용자 정의 필드를 추가한 모습입니다.

color는 red, weather는 Cloudy로 정했습니다. 사용자 정의 필드를 만들었다면, 이름이 선택 목록에 추가되어 재사용이 편해집니다.

사용자 정의 필드 출력하기

테마 파일의 적절한 위치에 코드를 넣으면 사용자 정의 필드의 이름 또는 값이 출력됩니다. 적절한 위치는 보통 글(포스트)을 출력하는 루프(loop) 안이고, 글을 출력하는 템플릿 파일은 보통 single.php입니다.

해당 글에 추가된 사용자 정의 필드 전체를 출력하는 코드는

the_meta();

입니다. 예를 들어 Twenty Seventeen의 single.php의

while ( have_posts() ) : the_post();

아래에 the_meta();를 추가하면, 다음과 같이 순서 없는 목록으로 값과 이름이 출력됩니다.

특정 사용자 필드의 값만 출력하고 싶다면 get_post_meta() 함수를 이용합니다.

get_post_meta( $post_id, $key, $single )
  • $post_id : 글의 아이디
  • $key : 사용자 정의 필드 이름
  • $single : true면 문자열로 반환하고, false 또는 설정하지 않으면 배열로 반환

예를 들어

echo get_post_meta( get_the_ID(), 'weather', true );

는 글의 weather의 값만 출력합니다.

출력 이외의 용도로 사용할 수도 있습니다. 예를 들어

if ( get_post_meta( get_the_ID(), 'color', true ) == "red" ) {
  echo ( '<style>p { color: red; }</style>' );
}

는 color의 값이 red일 때 문단의 색을 빨간색으로 만듭니다.

참고

사용자 정의 필드 관련 플러그인을 이용하면 체크박스, 라디오 버튼, 선택 목록 등 다양한 방식으로 값을 입력할 수 있습니다. 대표적인 플러그인은 Advanced Custom Fields입니다.

같은 카테고리의 다른 글

워드프레스 강좌 / 플러그인 / Loco Translate / 번역 파일을 수정하거나 새로 만드는 플러그인

워드프레스 강좌 / 플러그인 / Loco Translate / 번역 파일을 수정하거나 새로 만드는 플러그인

번역 워드프레스, 플러그인, 테마는 번역 파일을 이용해서 각 나라의 언어로 표현될 수 있도록 만들어집니다. 번역 파일은 보통 자동으로 설치되고, 다운로드 받아서 사용할 수도 있습니다. 하지만, 번역 파일이 존재하지 않는 플러그인이나 테마가 있을 수도 있고, 번역 파일이 있어도 번역이 마음에 들지 않을 수도 있습니다. 그럴 땐 직접 번역 파일을 만들거나 수정하여 사용할 수 있습니다. Loco Translate Loco ...

워드프레스 강좌 / 플러그인 / Ad Inserter / 애드센스 광고 쉽게 삽입할 수 있게 해주는 플러그인

워드프레스 강좌 / 플러그인 / Ad Inserter / 애드센스 광고 쉽게 삽입할 수 있게 해주는 플러그인

Ad Inserter 워드프레스로 만든 사이트 또는 블로그에 애드센스 광고를 넣는 방법은 여러 가지입니다. 그 중 Ad Inserter 플러그인으로 광고를 삽입하는 방법을 소개합니다. Ad Inserter는 광고를 삽입하게 해주는 플러그인으로, 애드센스 광고를 본문 위, 본문 중간 등에 쉽게 넣을 수 있게 해줍니다. 설치 WordPress.ORG에서 공유되는 플러그인이므로 워드프레스 관리자에서 바로 설치할 수 있습니다. 본문에 애드센스 광고 넣기 본문 상단 설정은 ...

워드프레스 / 우커머스 / 구입 완료 페이지에 구글 애드 전환 추적 코드 넣는 방법

워드프레스 / 우커머스 / 구입 완료 페이지에 구글 애드 전환 추적 코드 넣는 방법

구글 광고를 하면, 그 광고를 클릭한 후 어떤 액션이 있을 때 기록을 할 수 있습니다. 이를 전환이라고 합니다. 예를 들어 쇼핑몰이라면, 구글 광고를 클릭하고 들어와서 상품 구매 완료 시 신호를 보내서 기록을 하는 것이죠. 그러면 광고 효과 분석이 용이해집니다. 이를 하기 위해서는 전체 사이트 태그, 이벤트 스니펫 두 가지 코드를 넣어야 ...

워드프레스 강좌 / 우커머스 / 한글 번역 수정하는 방법

워드프레스 강좌 / 우커머스 / 한글 번역 수정하는 방법

우커머스를 설치하면 한글 번역 파일도 같이 설치됩니다. 예전에는 번역률이 낮아서 사용이 어려웠는데, 지금은 많은 분들의 도움으로 번역률이 100%입니다. 하지만, 일부 번역은 마음에 들지 않을 수 있고, 쇼핑몰 특성 상 더 좋은 번역이 있을 수도 있습니다. 그럴 경우 우커머스의 번역을 수정하여 사용할 수 있습니다. Loco Translate 설치 번역 플러그인 Loco Translate를 설치하고 활성화합니다. 기본 사용법 : Loco ...

워드프레스 강좌 / 플러그인 / Crayon Syntax Highlighter / 코드 문법 하이라이트 플러그인

워드프레스 강좌 / 플러그인 / Crayon Syntax Highlighter / 코드 문법 하이라이트 플러그인

Crayon Syntax Highlighter 프로그래밍을 주제로 하는 블로그나 사이트라면 수많은 코드를 글에 포함하게 됩니다. 코드는 <pre> 태그나 <code> 태그를 이용하여 고정폭 글꼴로 나타낼 수도 있으나, 단색으로 나타내므로 읽는게 불편합니다. 워드프레스에는 이런 불편을 해소해주는 Syntax Highlighter 플러그인이 많습니다. 그 중 사용하기 편하고 다양한 기능을 가진 플러그인이 Crayon Syntax Highlighter입니다. Crayon Syntax Highlighter는 꽤 오랫동안 업데이트가 되지 않고 있어서 ...

워드프레스 강좌 / 플러그인 / HTML Editor Syntax Highlighter / 에디터 텍스트 모드 코드 하이라이트 플러그인

워드프레스 강좌 / 플러그인 / HTML Editor Syntax Highlighter / 에디터 텍스트 모드 코드 하이라이트 플러그인

워드프레스에 글을 작성할 때 보통은 비주얼 모드를 사용하지만, 텍스트 모드로 들어가서 코드를 직접 수정하는 경우도 많습니다. 그런데, 텍스트 모드에서 코드를 보면 흰색 바탕에 검정 글자여서 읽기가 쉽지 않습니다. 이 문제를 해결해주는 플러그인이 HTML Editor Syntax Highlighter입니다. 코딩 강좌 등 하이라이트 된 코드를 방문자에게 보여주고 싶은 것이라면 Enlighter 플러그인을 사용하세요. 플러그인을 설치하고 활성화한 후 텍스트 ...

워드프레스 강좌 / 링크 없는 메뉴 만드는 방법

워드프레스 강좌 / 링크 없는 메뉴 만드는 방법

워드프레스의 메뉴는 링크를 가지고 있습니다. 하지만 계층형으로 만들거나 메뉴 그룹을 만들 때 링크가 없는 메뉴가 필요할 때가 있습니다. 기본 기능으로는 그러한 메뉴를 만들 수 없지만, 약간의 편법을 사용하면 가능합니다. 사용자정의 링크를 만듭니다. URL에는 아무거나 입력해도 상관없습니다. 뭘 쓸지 고민된다면 #을 입력하면 됩니다. URL이 비어 있으면 메뉴가 만들어지지 않으므로 꼭 입력해야 합니다. 메뉴 수정으로 가서 ...

워드프레스 강좌 / 미디어 업로드 폴더 변경하는 방법

워드프레스 강좌 / 미디어 업로드 폴더 변경하는 방법

워드프레스에서 이미지나 파일 등을 업로드하면 /wp-content/uploads 폴더에 저장됩니다. 사이트를 방문했을 때 글에 있는 이미지의 경로만 조사해도 워드프레스로 만든 것이라는 것을 알 수 있습니다. 일반적으로는 그럴 필요가 없지만, 특별한 경우에는 미디어 업로드 폴더를 변경해야 할 때가 있습니다. 그 특별한 경우가 무엇인지는 떠오르는 게 없네요..^^ 방법은 여러 가지가 있는데, 코드를 건드릴 필요가 없는 방법을 ...

워드프레스 강좌 / 함수 / wp_is_mobile() / 모바일 접속 여부 판단하는 함수

wp_is_mobile() wp_is_mobile()은 모바일 기기로 접속하면 true, 모바일 기기가 아니라면 false를 반환하는 함수입니다. 모바일인지 아닌지 구분하는 기준은 $_SERVER 입니다. wp_is_mobile()은 wp-includes/vars.php에 다음과 같이 정의되어 있습니다. function wp_is_mobile() { static $is_mobile = null; if ( isset( $is_mobile ) ) { return $is_mobile; } if ( empty($_SERVER) ) { ...

워드프레스 강좌 / 데모 콘텐츠 추가하는 방법

워드프레스 강좌 / 데모 콘텐츠 추가하는 방법

워드프레스를 공부하거나 테마를 만들 때, 빈 워드프레스 사이트보다는 콘텐츠가 어느 정도 있는 것이 편합니다. 테스트를 위한 콘텐츠를 만드는 방법은 몇 가지가 있는데, 그 중 한가지 방법은 WordPress.ORG에 있는 Theme Unit Test를 이용하는 것입니다. 이를 이용하여 콘텐츠를 추가하는 방법을 알아보겠습니다. Theme Unit Test 다운로드 Theme Unit Test 사이트에 접속합니다. 화살표가 가리키는 링크를 클릭하여 XML ...

워드프레스 강좌