워드프레스 플러그인, 요약글, 사용자 정의 필드에 젯팩 마크다운 적용하기

Summary

  1. 워드프레스에서는 포스트 본문과 코멘트 외에 다른 내용에도 마크다운을 적용할 수 있음
  2. 먼저 마크다운을 활성화 하고
  3. echo WPCom_Markdown::get_instance()->transform( $content ); 와 같이 화면에 표시 하면 됨

Intro

워드프레스에서 포스트를 작성하면서 젯팩에서 지원하는 마크다운을 사용하면 참 편리 합니다. 그런데 이 마크다운은 젯팩 설정에서 알 수 있듯이 포스트의 컨텐츠와 댓글 정도에만 사용할 수 있도록 설정 되어 있는데요. 이를 요약글이나 사용자 정의 필드에도 적용할 수 있는 방법을 정리해 봅니다.

시작하기 전에 아래와 같은 조건이 필요합니다.

  1. 젯팩 마크다운이 활성화 되어 있어야 함
  2. 테마나 플러그인을 편집 할 수 있어야 함

본격적으로 시작해 봅시다.

젯팩에서 마크다운 활성화 하기

마크다운을 적용하려면 당연히 마크아운을 활성화 해야 합니다. [WordPress×Markdown] 워드프레스에서 마크다운으로 글을 써보자 포스트를 참고하여 활성화 하거나 아래 코드를 이용해 마크다운을 활성화 하시기 바랍니다.

jetpack_require_lib( 'markdown' );

요약글에 마크다운 적용하기

화면에 표시되는 요약글에 마크다운을 적용하는 방법을 알아 봅시다. 일단 풀소스를 보면 아래와 같습니다.

<?php
    if ( has_excerpt() ) {
        echo '<section id="entry-excerpt">';
        echo WPCom_Markdown::get_instance()->transform( get_the_excerpt() );
        echo '</section>';
    }
?>

하나씩 살펴 봅시다.

요약글이 있는지 확인하기

if ( has_excerpt() ) {
    ...
}

저는 수동으로 작성된 요약글이 있을 경우에만 표시 하고 싶어서 has_excerpt 함수를 사용 했습니다. has_excerpttrue 일때만 요약글을 표시합니다. 상황에 따라 생략 할 수 있습니다.

요약글이 들어갈 컨테이너 만들기

echo '<section id="entry-excerpt">';
    ...
echo '</section>';

요약글이 들어갈 컨테이너를 section 태그로 만들어줍니다. idclass 를 지정해서 스타일을 적용하면 됩니다.

요약글 가져와 마크다운 적용하기

...
    echo WPCom_Markdown::get_instance()->transform( get_the_excerpt() );
...

이 부분이 핵심입니다. 특정 컨텐츠에 마크다운을 적용하는 방법은 아래 참고자료의 링크에서 가져 왔습니다. 아주 간단합니다. get_the_excerpt 로 요약글의 내용을 가져와 마크다운으로 trasform 시켜 버리고 해당 내용을 화면에 표시(echo) 하면 됩니다.

플러그인, 사용자 정의 필드에도 동일하게 적용하기

이를 이용하면 요약글이 아닌 플러그인에서 출력할 내용, 사용자 정의 필드의 내용을 출력할 때도 마찬가지로 사용할 수 있습니다. 아래처럼 말이죠.

echo WPCom_Markdown::get_instance()->transform( $content );

어렵지 않죠? 이제 모든 컨텐츠에 마크다운을 적용할 수 있습니다!

참고자료