WordPress 에서 사용자 정의 저장 필드 를 작성 하 는 PHP 함수 해석

4458 단어 WordPress필드
WordPress 의 사용자 정의 필드 는 바로 글 의 meta 정보(메타 정보)입 니 다.이 기능 을 이용 하여 글 의 기능 을 확장 할 수 있 습 니 다.WordPress 플러그 인 개발 과 주제 심도 있 는 개발 에 필요 한 지식 을 배 워 서 글 에 추가 적 인 사용자 정의 내용 을 저장 할 수 있 습 니 다.
사용자 정의 필드 는 플러그 인 개발 자 에 게 만 사용 되 는 것 이 아니 라 WordPress 의 특색 이미지,사용자 정의 페이지 템 플 릿 등 기능 의 정 보 는 사용자 정의 필드 의 폼 에 저 장 됩 니 다.
글 편집기 인터페이스의'사용자 정의 항목'판 은 이름 을 제외 하고''을 관리 할 수 있 습 니 다.의 필드('사용자 정의 항목'섹 션 이 없 으 면 오른쪽 상단 에 있 는'표시 옵션'을 열 어 주 십시오)때문에 많은 워드 프레스 가 사용 하 는 사용자 정의 필드 를 관리 할 수 없습니다.
기억 원리
사용자 정의 필드 는 매우 유연 하 다.우선 저장 원리 와 왜 이렇게 유연 한 지 말 해 보 자.데이터베이스 에 글 을 저장 하 는 wpposts 폼 은 기본 20 개의 항목 만 있 고 필요 한 글 정 보 를 저장 하 는 데 사 용 됩 니 다.
20151225143034327.png (332×620)
사용자 정의 필드 를 저장 하 는 wppotmeta 표 는 네 가지 항목 만 있 습 니 다.각각 meta 입 니 다.id(사용자 정의 필드 의 ID),postid(사용자 정의 필드 에 속 하 는 글 의 ID),metakey(사용자 정의 필드 이름)와 metavalue(사용자 정의 필드 의 값),일반적으로 우 리 는 meta 만 주의해 야 합 니 다.key 와 metavalue 두 항목 이면 됩 니 다.
그 렇 기 때문에 모든 글 은 같은 이름 이지 만 값 이 다른 사용자 정의 필드 를 가 질 수 있 고 무한 한 사용자 정의 필드 를 가 질 수 있 으 며 모든 플러그 인과 테 마 는 사용자 정의 필드 를 이용 하여 글 정 보 를 확장 할 수 있 습 니 다.
글 의 사용자 정의 필드 이름 은 중복 할 수 있 습 니 다.
필드 추가
사용자 정의 필드 는 글 편집 페이지 에서 조작 할 수 있 지만 본 고 는 주로 개발 에 관 한 일 을 씁 니 다.
20151225143103462.png (832×428)
사용자 정의 필드 추가,add 사용 가능post_meta()함수:

add_post_meta( $post_id, $meta_key, $meta_value, $unique );
인자:
$post_id
(정수)사용자 정의 필드 의 글 ID 를 추가 해 야 합 니 다.
기본 값:None
$meta_key
(문자열)필드 의 이름 을 사용자 정의 해 야 합 니 다.
기본 값:None
$meta_value
(혼합)필드 의 값 을 사용자 정의 해 야 합 니 다.
기본 값:None
$unique
(불)(선택 가능)같은 이름 의 필드 가 있다 면 중복 추가 할 지 여부 입 니 다.진정한 허락;false 는 허용 하지 않 습 니 다.
기본 값:False
업데이트 필드
필드 의 값 을 업데이트 하려 면 update 를 사용 할 수 있 습 니 다.post_meta()함수:

update_post_meta( $post_id, $meta_key, $meta_value, $prev_value );
인자:
$post_id
(정수)사용자 정의 필드 의 글 ID 를 업데이트 해 야 합 니 다.
기본 값:None
$meta_key
사용자 정의 필드 의 이름 을 업데이트 해 야 합 니 다.
기본 값:None
$meta_value
(혼합)업 데 이 트 된 사용자 정의 필드 의 값 입 니 다.
기본 값:None
$prev_value
(혼합)(선택 가능)이 매개 변 수 는 한 글 에 같은 이름 의 사용자 정의 필드 가 여러 개 있 을 때 만 유용 합 니 다.비어 있 으 면 같은 이름 의 필드 를 모두 업데이트 합 니 다.그렇지 않 으 면 이 매개 변수 와 같은 값 의 필드 를 업데이트 합 니 다.
기본 값:빈 문자열
필드 가 져 오기
획득 필드 에서 get 사용 가능post_meta()함수:

get_post_meta( $post_id, $key, $single );
인자:
$post_id
(정수)(필수)필드 의 글 ID 를 가 져 오 려 면 순환 중 get 을 사용 하 십시오the_ID()로 설정 합 니 다.
기본 값:None
$key
(문자열)가 져 올 필드 의 이름 입 니 다.
기본 값:None
$single
(불)(선택 가능)True 라면 문자열 을 되 돌려 줍 니 다.False 라면 배열 을 되 돌려 주 고 같은 키 의 사용자 정의 필드 의 값 은 추가 순서에 따라 배열 로 조 합 됩 니 다.
기본 값:False
예시
다음은 통계 조회 의 간단 한 예 입 니 다.

function Bing_statistics_visitors( $cache = false ){
  if( !is_singular() ) return;
  global $post;
  $id = $post->ID;
  if( get_post( $id )->post_status != 'publish' ) return;
  $post_views = (int) get_post_meta( $id, 'views', true );
  update_post_meta( $id, 'views', ( $post_views + 1 ) ) || add_post_meta( $id, 'views', 1, true );
}
add_action( 'wp_head', 'Bing_statistics_visitors' );
획득 개수:

function Bing_get_views(){
  global $post;
  $views = number_format( (int) get_post_meta( $post->ID, 'views', true ) );
  return $views;
}

보이 지 않 는 사용자 정의 필드
데이터베이스 에 WordPress 가 직접 만 든 사용자 정의 필드 가 많이 존재 하지만 글 편집기 의'사용자 정의 항목'에는 표시 되 지 않 습 니 다('사용자 정의 항목'이 없 으 면 오른쪽 상단 에 있 는'표시 옵션'이 열 립 니 다).예 를 들 어 특색 이미지,자체 정의 페이지 템 플 릿 과 댓 글 이 열 립 니까?
자세히 살 펴 보면 사용자 정의 필드 의 이름 이 모두 아래 밑줄""인 것 을 발견 할 수 있 습 니 다.시작 하 는...그 러 니까 밑줄 로''시작 하 는 사용자 정의 필드 는 사용자 에 게 표시 되 지 않 습 니 다.themeta()함수 도 출력 하지 않 고 사용자 에 게 숨겨 져 있 습 니 다.
20151225143222855.png (827×410)
이 기능 을 이용 하여 저 희 는 사용자 가 마음대로 수정 하고 싶 지 않 은 필드,사용 자 를 곤 혹 스 럽 게 하 는 필드,예 를 들 어 인터페이스 설정 옵션,캐 시 데이터 등 을 제공 하여 오류 가 발생 하지 않도록 할 수 있 습 니 다.
다음은 작은 예 입 니 다.

add_post_meta( get_the_ID(), '_time_diff', time() );
또한 사용자 정의 필드 에 저 장 된 내용 이 배열 이 라면 이름 앞 에 밑줄 이 아니 더 라 도""안 나 와 요.

좋은 웹페이지 즐겨찾기