Languages: English • 한국어 • Español • Formats 日本語 Português do Brasil • Русский • 中文(简体) • 中文(繁體) • (Add your language)
글 형식은 버전 3.1에 소개된 테마 기능이다. 글 형식은 메타 정보이다. 글 형식은 글의 외모를 사용자 정의하기 위해 테마가 사용하는 메타 정보이다. 글 형식 기능에는 표준 목록이 있다. 이 기능을 지원하는 모든 테마에서 사용할 수 있다. 테마는 목록에 있는 모든 형식을 지원할 필요는 없다. 테마 또는 플러그인으로 새로운 형식을 만들 수는 없다. 이 글 형식을 표준화하면, 수 많은 테마들이 서로 호환되고, 외부 블로깅 도구가 일관된 방법으로 이 기능에 접근할 수 있다.
즉, 글 형식을 지원하는 테마를 사용하여, 블로거는 라디오 버튼 목록에서 글 형식을 선택함으로써 외모를 변경할 수 있다.
일례로, 과거에는 Asides를 사용하여 Asides라는 카테고리가 생성되고, 글은 이 카테고리로 분류되었다. 그리고 post_class() 또는 in_category('asides')의 스타일 규칙에 따라 다르게 표시되었다. 새로운 접근 방식인 글 형식을 사용하여, 테마에서 하나의 글 형식을 지원하도록 추가할 수 있다. (예. add_theme_support('post-formats', array('aside'))), 그리고 해당 글 형식은 '공개하기' 메타 박스에서 선택할 수 있다. get_post_format($post->ID) 함수를 호출하여 글 형식을 결정하기 위해 사용할 수 있다. post_class()는 CSS 스타일링을 위해 "format-asides" 클래스를 생성한다.
테마가 지원한다면, 다음 글 형식을 사용할 수 있다.
실제 입력한 글의 내용은 변경되지 않는다. 테마에서 선택된 글 형식에 따라 글이 다르게 표시되게 하려면, 사용자가 선택할 수 있다. 예를 들어, 테마에서 "Status" 글의 제목을 표시하지 않을 수 있다. 표시하는 방법은 전적으로 테마가 선택하지만, 아래 내용은 일반적인 지침이다.
John: foo Mary: bar John: foo 2
참고: 글을 작성하거난 편집할 때, 글 형식이 지정되지 않도록 표준(Standard)이 적용된다. 글 형식이 지정되면, 표준은 적용되지 않는다.
|
|
테마는 functions.php 파일에 add_theme_support()를 사용해서, 아래와 같은, 글 형식의 배열을 통과시켜서 어떤 글 형식이 지원되는 지를 워드프레스에 알려준다:
add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );
init 훅(hook)이 호출되기 전에, 이 함수가 호출되어야만 한다. 사용하기 좋은 훅은after_setup_theme 훅이다.
글 형식은 functions.php 파일안에 add_post_type_support()를 사용하여, 어떤 글 형식을 사용하고 있는지 워드프레스에 알려준다:
// add post-formats to post_type 'page' add_post_type_support( 'page', 'post-formats' ); // add post-formats to post_type 'my_custom_post_type' add_post_type_support( 'my_custom_post_type', 'post-formats' );
또는 register_post_type() 함수 안에, '글 형식(post-formats)'을 추가한다, 'supports'의 parameter array:
$args = array( ... 'supports' => array('title', 'editor', 'author', 'post-formats') ); register_post_type('book', $args);
테마에서, 글의 형식을 확인하기 위해 get_post_format()를 사용하고, 글 형식에 따라 외모를 변경한다. 기본 글 형식은 FALSE 값을 반환한다. 또는 has_post_format() 조건 태그를 사용한다:
if ( has_post_format( 'video' )) { echo 'this is the video format'; }
스타일링 규칙을 가지고 형식을 사용할 수도 있다. 동적인 스타일링 클래스로 글을 감싸기 위해, 테마에서는 감싸는 코드(wrapper code) 안에 post_class() 함수를 사용해야 한다. 글 형식으로 별도의 "format-foo"와 같은 클래스가 추가될 수 있다.
예를 들어, 테마의 스타일시트에 아래와 같이 추가하여, 상태(status ) 형식에서 글 제목을 숨길 수 있다:
.format-status .post-title { display:none; }
글 형식을 원하는 방식으로 표시하기 위해 스타일링하고 디자인할 수 있지만, 각각의 글 형식은 ,현대적인 사용법에 따라, 특정 "스타일"이 어울린다. 각 형식의 사용 방법을 명심하는 것이 좋다. 이렇게 하면, 독자가 특정 형식의 글을 시각적으로 쉽게 인식할 수 있다.
예를 들어, 추가 정보(aside), 링크(link) 및 상태(status) 형식은 일반적으로 제목 또는 저자 정보가 표시되지 않는다. 이것들은 간단하고, 짧고, 그다지 중요한 것이 아니다. 추가정보(aside)는 한, 두 문장이고, 링크는 안에 있는 URL로 링크되는 한 문장일 것이다. 링크와 추가 정보는 둘 다 (the_permalink()를 사용하여) 개별 글 페이지로의 링크를 가질 수 있고, 댓글도 달 수 있다. 그러나 상태(status) 형식은 링크가 없을 가능성이 많다.
반면, 이미지 형식의 글은 캡션/텍스트와 함께 또는 캡션/텍스트 없이, 일반적으로 하나의 이미지 만을 포함하고 있다. 오디오/비디오 글은 이미지와 똑같지만 오디오/비디오가 추가된다. 이 3개의 형식은 해당 콘텐츠를 표시하기 위해 플러그인 또는 표준 Embeds를 사용할 수 있다. 콘텐츠를 따로 설명할 필요가 없기 때문에, 제목과 저자는 표시되지 않을 수도 있다.
인용(quote) 형식은 특히 추가 정보 없이 한 사람의 인용문을 작성하는데 잘 어울린다. 글에 인용문 만을 넣는다면, 인용된 사람의 이름을 글의 제목에 입력한다. the_content()를 표시하기 위해 이것만으로 스타일을 적용할 수 있고, the_title()를 사용하여, 필자 이름을 적은 행으로 인용된 사람의 이름을 표시할 수 있다.
특히 채팅(chat) 형식은 대부분 폭이 고정되는 형식으로 표시될 것이다. .format-chat에 스타일 적용하여, 글을 폭이 고정되는 형식으로 표시할 수 있다. 아마도 내부는 회색 또는 비슷한 배경이 적용되어, 시각적으로 채팅 세션이라는 것을 알 수 있을 것이다.
자식 테마에서는 부모 테마에서 정의한 글 형식이 적용된다. 자식 테마에서는 글 형식에 대한 add_theme_support() 호출은 우선 순위에서 부모 테마보다 가 나중에 수행된다. 그래서 기존 목록에 추가되지 않고, 덮어 쓰게된다.
add_action( 'after_setup_theme', 'childtheme_formats', 11 ); function childtheme_formats(){ add_theme_support( 'post-formats', array( 'aside', 'gallery', 'link' ) ); }
remove_theme_support('post-formats')을 호출하면 모든 형식이 제거된다.
플러그인과 테마가 워드프레스 이전 버전과 호환되어야 한다면, "post_format" 용어에 post-format-$format이라는 용어를 추가해야 한다. 예를 들어,
wp_insert_term( 'post-format-aside', 'post_format' );
그밖에 register_taxonomy()를 사용하여 post_format 용어를 등록해야 한다.
Post Formats: set_post_format(), get_post_format(), has_post_format(), get_post_format_link(), get_post_format_string(), the_post_format_audio(), get_the_post_format_media(), get_content_audio(), the_post_format_chat(), get_the_post_format_chat(), get_content_chat(), add_chat_detection_format(), the_post_format_gallery(), get_content_galleries(), get_post_gallery_images(), the_post_format_image(), get_the_post_format_image(), get_content_images(), the_post_format_quote(), get_the_post_format_quote(), get_content_quote(), the_post_format_url(), get_the_post_format_url(), get_content_url(), the_post_format_video(), get_content_video(), the_remaining_content(), get_the_remaining_content(), get_post_format_meta(), post_format_content_class(), get_post_format_content_class(), post_formats_compat()
Theme Support:
add_theme_support(),
remove_theme_support(),
current_theme_supports()
Theme Features:
sidebar,
menus,
post-formats,
title-tag,
custom-background,
custom-header,
custom-logo,
post-thumbnails,
automatic-feed-links,
html5,
editor-style,
content_width