코어가 제공하는 기능
- 포스트와 페이지
: 생성과 저장, 가져오기, 콘텐츠와 관련된 대부분의 기능수행
- 메타데이터
: 콘텐츠를 분류할 목적으로 사용자가 추가하는 모든 태그와 카테고리
- 테마
: 워드프레스 테마 지원 함수
- 액션과 필터, 플러그인
: 워드프레스 기능 확장
코어를 레퍼런스로 활용하는 방법
- 대부분의 코어파일에는 인라인 설명서가 명시되어 있음 ( 주석 )
다음 wp-includes/post.php 내의 add_post_meta 함수를 살펴보자.
/** * Add meta data field to a post. * * Post meta data is called "Custom Fields" on the Administration Screen. * * @since 1.5.0 * * @param int $post_id Post ID. * @param string $meta_key Metadata name. * @param mixed $meta_value Metadata value. Must be serializable if non-scalar. * @param bool $unique Optional. Whether the same key should not be added. * Default false. * @return int|bool Meta ID on success, false on failure. */ function add_post_meta( $post_id, $meta_key, $meta_value, $unique = false ) { // Make sure meta is added to the post, not a revision. if ( $the_post = wp_is_post_revision($post_id) ) $post_id = $the_post; return add_metadata('post', $post_id, $meta_key, $meta_value, $unique); }
'포스트에 메타 데이터 추가하기' 라는 주석을 통해 해당 함수가 무엇을 하는지 바로 알 수 있다.
코어 코드 검토
워드프레스의 핵심 코어 파일들에 대해 살펴보자.
Function.php
> current_time 현재 시간 정보를 지정한 타입으로 가져온다.
> force_ssl_login 로그인할 때 SSL(https)를 사용하도록 요청한다.
> wp_nonce_ays 명령을 실행할 때 '실행할까요?' 라는 확인창을 출력한다.
Option.php
> add_option,update_option,get_option 저장된 옵션을 추가, 갱신, 출력한다.
Formatting.php
> _wp_specialchars 일부 특수문자를 HTML 엔티티로 변환한다. ( 3.x 버전 이하만 )
> esc_attr 일부 특수문자를 HTML 엔티티로 변환한다.
> is_email 맞는 형식의 이메일 주소인지 확인한다.
Pluggable.php
코어 함수이지만 플러그인에서 오버라이드 할 수 있다. 플러그인 로딩 중에 재정의되지 않은 함수들은 pluggable.php 의 정의를 따른다.
> wp_mail 워드프레스에서 이메일을 보낸다.
> get_userdata 지정된 사용자 ID에 해당하는 사용자의 데이터 전체를 반환한다.
> get_currentuserinfo 현재 로그인된 사용자의 데이터를 반환한다.
> wp_signon 사용자 인증 기능을 실행한다.
> wp_logout 현재 사용자를 로그아웃시키고, 사용자 세션을 제거한다.
> wp_redirect 다른 페이지로 리다이렉트한다.
> get_avatar 사용자의 프로필 사진을 반환한다. ( size 안 정하면 96px )
Plugin.php
> add_filter 콘텐츠를 출력하거나 데이터베이스에 저장할 때 동작되는 필터 훅을 추가한다.
> add_action 어떤 명령이 실행될 때 동작되는 액션 훅을 추가한다.
> register_activation_hook 플러그인이 활성화되는 순간 실행될 훅을 등록한다.
> register_deactivation_hook 플러그인이 비활성화되는 순간 실행될 훅을 등록한다.
Post.php
> wp_insert_post 신규 포스트를 작성한다.
> get_posts 검색범위에 해당하는 최근 포스트 목록을 가져온다.
> get_pages 블로그 내에 존재하는 모든 페이지 목록을 가져온다.
> add_post_meta 포스트에 추가되는 메타데이터를 생성한다.
> get_post_meta 포스트에 추가된 메타데이터를 가져온다.
Category.php
> get_categories 카테고리 객체의 목록을 가져온다.
> get_cat_ID 카테고리 이름에 맞는 ID 를 반환한다.
워드프레스에서는 이러한 여러 function 들을 통해 데이터를 조작 할 수 있다.
워드프레스 API
다음은 현재 제공되어지고 있는 API 목록이다 ( 3.x )
> 플러그인 API
> 위젯 API
> 숏코드 API
> HTTP API
> 셋팅 API
> 대시보드 위젯 API
> 다시쓰기 API
자세한 내용들은 https://developer.wordpress.org/reference/ 에서 확인 할 수 있다.
다음 장에서는 루프에 대해 알아보도록 하겠다.
'Etc > Wordpress' 카테고리의 다른 글
[Wordpress] 데이터베이스 (2) | 2015.03.07 |
---|---|
[Wordpress] 루프 (0) | 2015.03.05 |
[Wordpress] wp-config 파일 (0) | 2015.03.02 |