[Wordpress] 코어 분석

2015. 3. 5. 12:52Etc/Wordpress

WordPress Core 기능과 활용 방법

워드프레스(WordPress)는 웹사이트를 쉽게 구축하고 관리할 수 있게 해주는 강력한 도구입니다. 이 블로그 포스트에서는 워드프레스 코어(Core)의 주요 기능과 이를 효과적으로 활용하는 방법에 대해 알아보겠습니다.

워드프레스 코어가 제공하는 주요 기능

워드프레스 코어는 웹사이트의 기본 기능을 담당하는 핵심 코드로, 다양한 기능을 제공합니다. 여기에서는 그 중 중요한 몇 가지를 살펴보겠습니다.

1. 포스트와 페이지 관리

워드프레스의 핵심 기능 중 하나는 포스트(Post)와 페이지(Page)의 생성, 저장, 불러오기, 삭제 등과 같은 콘텐츠 관리 기능입니다. 이를 통해 블로그 포스트, 웹페이지 등을 쉽게 관리할 수 있습니다.

2. 메타데이터 관리

메타데이터(Metadata)는 콘텐츠를 분류하기 위해 사용자가 추가하는 태그(Tag)와 카테고리(Category) 등을 의미합니다. 메타데이터를 사용하면 콘텐츠를 보다 체계적으로 정리하고 관리할 수 있습니다.

3. 테마 지원

워드프레스 코어는 다양한 테마(Theme)를 지원하는 함수를 제공합니다. 이를 통해 웹사이트의 디자인과 레이아웃을 쉽게 변경할 수 있습니다.

4. 액션, 필터, 플러그인

워드프레스의 기능을 확장할 수 있는 방법으로 액션(Action)과 필터(Filter)라는 개념이 있습니다. 또한 플러그인(Plugin)을 통해 워드프레스의 기본 기능을 확장하거나 새로운 기능을 추가할 수 있습니다.

워드프레스 코어를 활용하는 방법

워드프레스 코어 파일들은 대부분 인라인 주석이 포함되어 있어, 개발자들이 코드를 쉽게 이해하고 활용할 수 있도록 돕습니다. 이러한 코어 파일을 분석하고 활용하는 방법을 아래 예시를 통해 살펴보겠습니다.

코어 파일 분석 예시: add_post_meta 함수

다음은 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 파일

이 파일에 포함된 함수들은 기본적으로 워드프레스 코어에서 제공되지만, 플러그인에서 재정의(Override)할 수 있습니다. 플러그인 로딩 중에 재정의되지 않은 함수들은 pluggable.php의 정의를 따릅니다.

  • wp_mail: 워드프레스에서 이메일을 발송합니다.
  • get_userdata: 지정된 사용자 ID에 해당하는 사용자의 모든 데이터를 반환합니다.
  • get_currentuserinfo: 현재 로그인된 사용자의 데이터를 반환합니다.
  • wp_signon: 사용자 인증 기능을 수행합니다.
  • wp_logout: 현재 사용자를 로그아웃시키고, 사용자 세션을 제거합니다.
  • wp_redirect: 다른 페이지로 리다이렉트합니다.
  • get_avatar: 사용자의 프로필 사진을 반환합니다. (기본 크기: 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를 반환합니다.

워드프레스 API

워드프레스는 다양한 API를 제공하여 개발자들이 기능을 확장할 수 있도록 지원합니다. 아래는 워드프레스에서 제공하는 주요 API 목록입니다:

  • 플러그인 API
  • 위젯 API
  • 숏코드(Shortcode) API
  • HTTP API
  • 셋팅(Settings) API
  • 대시보드 위젯 API
  • 다시쓰기(Rewrite) API

보다 자세한 내용은 WordPress Developer Reference에서 확인할 수 있습니다.

반응형

'Etc > Wordpress' 카테고리의 다른 글

[Wordpress] 데이터베이스  (2) 2015.03.07
[Wordpress] 루프  (0) 2015.03.05
[Wordpress] wp-config 파일  (0) 2015.03.02