WordPress.org

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

ko:함수 레퍼런스/add post meta

설명

어떤 post type 을 가지는 특정한 포스트에 이른바 메타 데이터 로 불리는 custom field 를 추가시킵니다. 하나의 custom field 는 효율적이게 키와 값의 쌍으로 이루어집니다.


특정한 포스트의 커스텀 필드 사이에서 주어진 키가 이미 존재한다면, unique 값이 true 가 아니라면, 같은 키와함께 또다른 커스텀 필드가 추가된다는 것을 알아두세요. 이 경우에 변경은 불가능합니다. 이미 존재하는 키의 값을 변화시키기 원한다면 update_post_meta() 함수를 대신 사용하세요.

사용법

 <?php add_post_meta($post_id$meta_key$meta_value$unique); ?> 

파라메터

$post_id
(integer) (required) 추가되어져야만 하는 커스텀필드가 속한 포스트의 ID 입니다.
Default: None
$meta_key
(string) (required) 추가되어져야만 하는 커스텀 필드의 키 값입니다.
Default: None
$meta_value
(mixed) (required) 추가되어져야만 하는 커스텀필드의 값입니다. 만약 배열이 주어진다면, 이것은 string 형태로 변화시킬 것 입니다.
Default: None
$unique
(boolean) (optional) 키가 고유한 속성을 가질지 아닐지를 결정합니다. true 로 주어졌을 때, 특정한 포스트들 사이에 값이 이미 존재한다면, 메타값은 추가되어지지 않습니다.
Default: false

Return

(boolean|integer) 
성공한다면, true 값으로 승인되어진 데이터베이스 내부에 삽입된 행을 반환시킵니다. 만약 $uniquetrue 로 설정되어지고 주어진 키가 이미 존재한다면, false 가 리턴됩니다.

예제

기본 사용법

<?php add_post_meta( 68, 'my_key', 47 ); ?>

고유한 커스텀 필드를 추가시키거나 업데이트

키가 존재하지 않는다면 추가시킬 것이며, 대신에 그 키와함께 커스텀 필드의 값을 업데이트 시킬 것입니다.

<?php
if ( ! add_post_meta( 7, 'fruit', 'banana', true ) ) { 
   update_post_meta ( 7, 'fruit', 'banana' );
}

또다른 예제

단지 주어진 키와 함께 커스텀필드가 존재하지 않는다면, 새로운 커스텀필드를 추가시킵니다.:

<?php add_post_meta( 68, 'my_key', '47', true ); ?>

같은 키이지만, 다수의 값을 가진 키를 추가시킵니다. 'my_key':

<?php add_post_meta( 68, 'my_key', '47' ); ?>
<?php add_post_meta( 68, 'my_key', '682' ); ?>
<?php add_post_meta( 68, 'my_key', 'The quick, brown fox jumped over the lazy dog.' ); ?>
...

좀더 상세한 예제에 대해서는, post_meta Functions Examples 페이지를 참조하세요.

히든 커스텀 필드

만약 플러그인 혹은 테마 개발자라면 그리고 플러그인 혹은 템플릿에 관련된 파라메터를 추가시키기 위해서 커스텀필드를 사용하는 계획을 짜고 있다면, 키가 "_" (underscore) 와 함께 시작하는 키를 가진 커스텀 필드 혹은 the_meta() 템플릿 함수를 사용할 때에 post edit 화면상의 커스텀 필드 리스트안에서 보여지지 않을 것이라는 사실은 당신에게 아주 흥미로울 수 있습니다. 이것은 add_meta_box()를 사용함에 의해, 비정상적인 방법 안에서 이러한 커스텀 필드들을 보여주기위해서 사용하는 예제가 될 수 있습니다.


예제를 따라해보세요:

<?php add_post_meta( 68, '_color', 'red', true ); ?>

유니크한 커스텀 필드가 키 '_color' 그리고 값 'red'와 함께 추가될 것입니다. 그러나 post edit 화면에서는 보여지지 않을꺼에요.

히든 배열

추가적으로, $meta_value 가 배열이라면, 키 이름으로 _를 사용하지 않았음에도 불구하고, 페이지 수정화면에서 보여지지 않을 것입니다.

노트

Character Escaping

메타 값은 stripslashes() 함수를 통해서 전달되기 때문에, \ 문자들을 함께 사용함에 있어서 주의해야만합니다. update_post_meta() 문서를 통해서 좀더 많은 내용과 예제를 볼 수 있습니다..

소스 코드

add_post_meta()wp-includes/post.php 에 위치하고 있습니다.

변경

Since 1.5.0

관련

Custom Fields: the_meta(), get_post_meta(), add_post_meta(), update_post_meta(), delete_post_meta(), get_post_custom(), get_post_custom_values(), get_post_custom_keys() (See Also: post_meta Function Examples)

See also index of Function Reference and index of Template Tags.

(해당 번역은 한국인 워드프레스 유저 Remoted 에 의해서 쓰여졌으며, 또다른 요청사항이 있을 경우 35mwlee@naver.com 혹은 http://35mwlee.blog.me/ 에 댓글을 남겨주세요.)