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

사용자 정의 필드

사용자 정의 필드를 이용하여 글에 추가적인 정보를 입력하고 출력할 수 있습니다. 그 정보를 글 본문에 직접 입력할 수도 있지만, 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입니다.

같은 카테고리의 다른 글

워드프레스 / 우커머스 / 상점 페이지, 카테고리 페이지 등에서 진열되는 상품 수 설정하는 방법

워드프레스 / 우커머스 / 상점 페이지, 카테고리 페이지 등에서 진열되는 상품 수 설정하는 방법

기본적인 설정 방법 를 변경하면 진열되는 상품의 개수도 바뀝니다. 만약 이 방법이 통하지 않거나, 포스트와 다른 개수로 정하고 싶다면 아래의 방법을 이용합니다. 우커머스에서 제공하는 코드 우커머스에서는 아래의 코드를 functions.php에 추가하면 된다고 합니다. 15를 적절히 수정합니다. function new_loop_shop_per_page( $cols ) { $cols = 15; return $cols; } add_filter( 'loop_shop_per_page', ...

워드프레스 강좌 / 플러그인 / Awesome Support / 일대일 상담 플러그인

워드프레스 강좌 / 플러그인 / Awesome Support / 일대일 상담 플러그인

쇼핑몰 등 인터넷 서비스를 하면 문의가 많이 들어옵니다. 그 문의들이 공개되지 않게 하는 방법 중의 하나는 비밀글입니다. 하지만 글 제목 등 글의 일부가 노출된다는 단점이 있습니다. 그래서 일대일 상담 게시판을 많이 사용합니다. 워드프레스에서 일대일 상담 게시판을 만드는 방법은 여러 가지가 있고, KBoard로 만드는 방법을 소개한 적이 있습니다. 이번에 소개해드릴 것은 외국형인 ...

워드프레스 강좌 / 플러그인 / List Category Posts / 다양하게 글 목록 출력시켜주는 플러그인

워드프레스 강좌 / 플러그인 / List Category Posts / 다양하게 글 목록 출력시켜주는 플러그인

워드프레스 기본 위젯에 최근 글 위젯이 있습니다. 최신 글 목록을 보여주는 위젯으로 제목 또는 제목과 날짜를 출력해줍니다. 워낙 단순한 기능의 위젯이라 불편한 점이 좀 있습니다. 요약글을 보여주지도 못하고, 썸네일을 출력할 수도 없습니다. 글쓴이를 보여주거나 특정 카테고리의 글만 출력하지도 못합니다. 이를 해결해주는 플러그인 중의 하나가 List category posts입니다. 원하는 카테고리의 글을 원하는 양식으로 ...

워드프레스 강좌 / 플러그인 / Content Cards / 링크를 네이버나 페이스북처럼 만들어주는 플러그인

워드프레스 강좌 / 플러그인 / Content Cards / 링크를 네이버나 페이스북처럼 만들어주는 플러그인

Content Cards 네이버 블로그에서 링크를 추가하면, 썸네일과 요약글이 있는 링크가 만들어집니다. 페이스북에도 비슷한 기능이 있습니다. 워드프레스 자체에는 이 기능이 없지만, Content Cards 플러그인을 이용하면 비슷한 효과를 낼 수 있습니다. 설치 WordPress.ORG에서 공유되는 플러그인이므로 워드프레스 관리자에서 설치할 수 있습니다. 링크 삽입하기 플러그인을 활성화하면 에디터에 아이콘이 하나 생깁니다. 그 아이콘을 클릭하여 링크를 추가합니다. 링크가 가리키는 문서에서 이미지와 제목, 글의 일부를 ...

워드프레스 강좌 / Yoast SEO / 사이트맵(sitemap) 활성화하는 방법

워드프레스 강좌 / Yoast SEO / 사이트맵(sitemap) 활성화하는 방법

사이트맵(sitemap) 사이트맵은 사이트에 있는 콘텐츠를 정리한 XML 파일입니다. 네이버 웹마스터 도구나 구글 웹마스터 도구에 사이트맵을 등록해야 검색이 잘 됩니다. 사이트맵은 보통 Google XML Sitemaps 플러그인으로 만듭니다. 사이트맵 생성 플러그인 중에서는 가장 인기있는 플러그인입니다. 만약 Yoast SEO를 사용한다면 Google XML Sitemaps를 사용할 필요가 없습니다. Yoast SEO에 포함되어 있기 때문입니다. Yoast SEO의 사이트맵 기능 활성화하기 General의 Features 탭에 XML sitemaps가 ...

워드프레스 강좌 / 플러그인 / WP Super Cache / 캐시를 이용하여 사이트 속도 빠르게 해주는 플러그인

워드프레스 강좌 / 플러그인 / WP Super Cache / 캐시를 이용하여 사이트 속도 빠르게 해주는 플러그인

WP Super Cache 웹사이트 속도는 중요합니다. 홈페이지에 접속했을 때 속도가 느리다면 방문자가 금방 떠나고, 검색 엔진에서도 불이익을 받습니다. 따라서 속도 개선은 사이트 관리자의 중요 업무 중의 하나입니다. 워드프레스는 기본적으로 페이지를 동적으로 만듭니다. 요청이 있으면 데이터베이스에서 자료를 가져와서 테마의 파일들을 이용해 출력을 하기에, 방문자가 접속할 때마다 페이지를 생성합니다. 그래서 정적인 페이지보다 속도가 느립니다. 이를 ...

워드프레스 / 우커머스 / 잡다한 정보들

상품 페이지 라이트박스 제거 functions.php에 다음 코드 추가 add_filter( 'woocommerce_single_product_image_thumbnail_html', 'wc_remove_link_on_thumbnails' ); function wc_remove_link_on_thumbnails( $html ) { return strip_tags( $html, '<img>' ); } 우커머스 스타일 제거 functions.php에 다음 코드 추가 add_filter( 'woocommerce_enqueue_styles', '__return_empty_array' ); 관련 상품 제거 CSS에 다음 코드 추가 .single-product .related.products { display: none; } Database Pending 작업 실행하는 방법 예약된 데이터베이스 작업이 진행되지 않는다면 강제로 실행할 수 있습니다. ...

워드프레스 강좌 / 플러그인 / Pixabay Images / 무료 이미지 사이트 픽사베이 이미지를 바로 글에 넣을 수 있는 플러그인

워드프레스 강좌 / 플러그인 / Pixabay Images / 무료 이미지 사이트 픽사베이 이미지를 바로 글에 넣을 수 있는 플러그인

Pixabay 픽사베이(Pixabay)는 개인은 물론 상업적 용도로도 사용할 수 있는 이미지를 공유하는 사이트입니다.(대부분 CC0 Creative Commons이나, 간혹 상업적 이용이 곤란한 것도 있으니 다운로드 받기 전에 라이센스를 확인하는 것이 좋습니다.) 현재 백만 개가 넘는 사진, 일러스트, 벡터 이미지, 동영상이 있으며, 일정 수준의 품질을 만족해야 공유 가능하므로 좋은 자료가 많습니다. 한글로 번역이 잘 되어 있는 편이어서 한국 ...

워드프레스 강좌 / 설치하기

워드프레스 강좌 / 설치하기

시스템 요구사항 워드프레스를 설치하려면 PHP를 사용할 수 있는 웹서버와 데이터베이스 서버가 필요합니다. 웹서버는 어떤 것이든 상관없지만, 권장되는 것는 Apache와 NginX입니다. 데이터베이스 서버는 MySQL 또는 MariaDB가 필요합니다. We recommend servers running version 7.3 or greater of PHP and MySQL version 5.6 OR MariaDB version 10.0 or greater. We also recommend either Apache or Nginx as ...

워드프레스 강좌 / 플러그인 / Insert Headers and Footers / 메타 태그, 스크립트 삽입 플러그인

워드프레스 강좌 / 플러그인 / Insert Headers and Footers / 메타 태그, 스크립트 삽입 플러그인

Insert Headers and Footers 블로그나 사이트를 만들 때 여러 가지 메타 태그와 스크립트를 추가하게 됩니다. 예를 들어 구글 애널리틱스로 접속 통계를 얻으려면 스크립트를 추가해야 하고, 네이버 웹마스터도구에 등록해서 네이버 검색에 반영되게 하려면 메타 태그를 추가해야 합니다. 이러한 스크립트나 메타 태그는 보통 <head> 태그에 삽입하게 되는데, 그 위치에 추가하려면 테마 파일을 분석하고 수정해야 ...