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

사용자 정의 필드

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

사용자 정의 필드 입력하기

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

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

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

  • 사용자 정의 필드는 여러 개 생성할 수 있습니다. 다음은 두 개의 사용자 정의 필드를 추가한 모습입니다.
  • color는 red, weather는 Cloudy로 정했습니다. 사용자 정의 필드를 만들었다면, 이름이 선택 목록에 추가되어 재사용이 편해집니다.

사용자 정의 필드 출력하기

  • 테마 파일의 적절한 위치에 코드를 넣으면 사용자 정의 필드의 이름 또는 값이 출력됩니다. 적절한 위치는 보통 글(포스트)을 출력하는 루프(loop) 안이고, 글을 출력하는 템플릿 파일은 보통 single.php입니다.
  • 해당 글에 추가된 사용자 정의 필드 전체를 출력하는 코드는 다음과 같습니다.
the_meta();
  • 예를 들어 Twenty Seventeen의 single.php의 다음 코드 아래에 the_meta();를 추가하면
while ( have_posts() ) : the_post();
  • 다음과 같이 순서 없는 목록으로 값과 이름이 출력됩니다.

  • 특정 사용자 필드의 값만 출력하고 싶다면 get_post_meta() 함수를 이용합니다.
    $post_id : 글의 아이디
    $key : 사용자 정의 필드 이름
    $single : true면 문자열로 반환하고, false 또는 설정하지 않으면 배열로 반환
get_post_meta( $post_id, $key, $single )
  • 예를 들어 다음은 글의 weather의 값만 출력합니다.
echo get_post_meta( get_the_ID(), 'weather', true );

  • 출력 이외의 용도로 사용할 수도 있습니다. 예를 들어 다음은 color의 값이 red일 때 문단의 색을 빨간색으로 만듭니다.
if ( get_post_meta( get_the_ID(), 'color', true ) == "red" ) {
  echo ( '<style>p { color: red; }</style>' );
}

같은 카테고리의 다른 글
워드프레스 / 함수 / wp_is_mobile() / 모바일 접속 여부 판단하는 함수

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

wp_is_mobile() wp_is_mobile()은 모바일 기기로 접속하면 true, 모바일 기기가 아니라면 false를 반환하는 함수이다. 모바일인지 아닌지 구분하는 기준은 $_SERVER 이다. wp_is_mobile()은 wp-includes/vars.php에 정의되어 있다. 예제 1 모바일이면 A를 출력한다. <?php if ( wp_is_mobile() ) { echo 'A'; } ?> 예제 2 모바일이 아니면 A를 출력한다. <?php if ( !wp_is_mobile() ) { echo 'A'; ...

워드프레스 / Template_Tags

워드프레스 / Template_Tags

Template Tags는 정보를 불러오는 함수 정도로 이해하면 된다. 예를 들어 bloginfo( 'name' )는 블로그 이름을 가져온다. 정보는 DB에 있는 내용일 수도 있고, 파일일 수도 있다. Template tags are used within your blog's Templates to display information dynamically or otherwise customize your blog, providing the tools to make it as individual and ...

워드프레스 / 리비전(Revision)

워드프레스 / 리비전(Revision)

리비전   리비전으로 복구하기   리비전 개수 제한 wp-config.php에 다음 코드를 추가한다. 3은 적절히 설정한다. define('WP_POST_REVISIONS', 3); 리비전 비활성화 wp-config.php에 다음 코드를 추가한다. define('WP_POST_REVISIONS', false); 리비전 삭제 리비전을 삭제하는 것은 플러그인을 이용하는 것이 편하다. revision으로 검색하면 많은 플러그인을 찾을 수 있다.

워드프레스 / 워드프레스 주소, 사이트 주소 변경하기

워드프레스 / 워드프레스 주소, 사이트 주소 변경하기

워드프레스에는 두 가지 주소(URL)이 있습니다. 하나는 워드프레스 주소, 다른 하나는 사이트 주소이다. 워드프레스 주소는 워드프레스 파일들을 업로드한 주소이고, 사이트 주소는 웹브라우저로 접속할 수 있는 주소이다. 두 주소는 기본적으로 같다. 주소(URL)를 바꾸는 방법은 원하는 주소에 맞게 다시 설치하는 방법과 설정 변경을 통해 바꾸는 방법이 있다. 여기서는 설정 변경을 통해 바꾸는 방법을 알아보겠다. 주소 변경은 ...

워드프레스 / 메모

워드프레스 / 메모

functions.php 위젯 제목 출력되지 않게 하는 방법 위젯의 내용은 출력하지만, 위젯 제목은 출력하고 싶지 않다면, 다음 코드를 추가한다. function no_widget_title( $t ) { return null; } add_filter( 'widget_title', 'no_widget_title' ); 이메일 주소 변경 알림 메일 가지 않게 하는 방법 add_filter( 'send_email_change_email', '__return_false' ); 메타 태그 추가하는 방법 function cmsfactory_meta_tags() { echo '<meta ...>'; echo '<meta ...>'; } add_action( ...

워드프레스 / 함수

워드프레스 / 함수

current_user_can() Returns whether the current user has the specified capability. Administrator라면 123을 출력한다. if ( current_user_can( 'administrator' ) ) { echo '123'; } is_admin()은 백엔드에서만 작동된다고 한다. has_post_thumbnail() 썸네일이 존재하는지 체크한다. wp_is_mobile() 모바일로 접속했는지 체크한다.

워드프레스 / 플러그인 / WP Mail SMTP / 메일 발신 서버 변경 플러그인

워드프레스 / 플러그인 / WP Mail SMTP / 메일 발신 서버 변경 플러그인

워드프레스는 여러 가지 메일을 관리자 또는 사용자에게 보낸다. 메일 발송은 기본적으로 워드프레스가 설치된 시스템을 이용하는데, 시스템 설정에 따라 메일이 나가지 않거나, 메일이 발송되더라도 스팸으로 빠지는 경우가 생길 수 있다. 그런 경우 다른 SMTP 서버로 메일을 발송하여 문제를 해결할 수 있다. WP Mail SMTP는 워드프레스가 다른 SMTP로 메일을 발송하게 해주는 플러그인이다. 사용자가 ...

워드프레스 / 샘플 데이터 만드는 방법

워드프레스 / 샘플 데이터 만드는 방법

워드프레스를 공부하거나, 테마를 만들 때 글, 페이지, 이미지, 댓글 등이 필요하다. 이러한 샘플 데이터를 만드는 방법 중의 하나는 플러그인을 사용하는 것이다. 플러그인 추가 페이지에서 dummy로 검색하면 꽤 많은 결과가 나온다. 하지만, 개인적으로 애용하는 건 Theme Unit Test이다. 다양한 형식의 글과 페이지들을 포함하고 있기 때문이다. 사용하는 방법은... XML 파일 다운로드 Theme Unit Test 사이트에 ...

워드프레스 / 글 / 카테고리

워드프레스 / 글 / 카테고리

카테고리 워드프레스의 글(포스트)은 카테고리로 분류한다. 글은 적어도 하나 이상의 카테고리에 속하게 된다. 즉, 하나의 글은 여러 카테고리에 속할 수 있다. 글 작성 시 카테고리를 선택하지 않으면 기본 카테고리가 선택된다. 카테고리 관리는 에서 한다. 글 작성 화면에서도 카테고리 관리를 할 수 있지만, 상세한 설정을 할 수는 없다. 카테고리 만들기 로 이동하면 다음과 같은 ...

워드프레스 / 댓글 핑백 허용 여부 일괄 변경하는 방법

워드프레스 / 댓글 핑백 허용 여부 일괄 변경하는 방법

댓글 핑백 허용 여부 설정 글에 댓글과 핑백을 허용할지 말지는 에서 정한다. 그러나 개별 글의 설정이 우선된다. 즉, 전체 설정에서 댓글을 허용하지 않아도, 글에서 허용하면 그 글에는 댓글을 달 수 있다. 반대로 전체 설정에서 댓글을 허용해도, 글에서 허용하지 않으면 그 글에는 댓글을 달 수 없다. 에서 댓글과 핑백 ...