워드프레스 #37
저번 시간까지 php 기본 문법을 배워봤는데, 이번에는 워드프레스에서 기본적으로 제공하는 내장 함수에 대해 좀 더 다양하게 배워볼게요. 어떻게 하는지 알아보기 이전에, 이걸 왜 알아야 하는지 살펴볼게요.
이번 시간에는 페이지 또는 컴포넌트에서 자주 사용할 수 있는 워드프레스 내장 함수를 살펴보겠습니다. 이전 챕터에서 PHP 코드를 어느 정도 이해한 상태에서 이 함수들을 보면 더 잘 이해할 수 있을 것입니다. 반복 학습을 통해 익숙해질 수 있으니 자주 사용해보세요.
페이지 정보 출력 함수
페이지 제목
현재 페이지의 제목을 출력합니다.
<?php echo get_the_title(); ?>
아카이브 타이틀
아카이브 페이지의 타이틀을 출력합니다.
<?php the_archive_title('<h1 class="page-title">', '</h1>'); ?>
아카이브 설명
아카이브 페이지의 설명을 출력합니다.
<?php the_archive_description('<div class="page-description">', '</div>'); ?>
페이지 콘텐츠
어드민 에디터에서 작성한 페이지의 내용을 출력합니다.
<?php the_content(); ?>
메뉴 출력 함수
네비게이션 메뉴를 추가할 때 사용합니다. 주로 헤더, 푸터, 사이드바에 사용됩니다.
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_id' => 'primary-menu' ) ); ?>
페이지네이션 출력 함수
목록 페이지에서 페이지 네이션을 출력합니다. 페이지당 노출 수는 어드민에서 조절할 수 있습니다.
<?php the_posts_pagination(array('prev_text' => '', 'next_text' => '')); ?>
<?php echo paginate_links(); ?>
검색 폼 출력 함수
검색 기능을 사용하고 싶을 때 추가하면 됩니다. 기본 검색 폼이 출력됩니다.
<?php get_search_form(); ?>
예제: 블로그 페이지
다음은 위 함수들을 사용하여 간단한 블로그 페이지를 만드는 예제입니다.
블로그 페이지 템플릿
<?php
/*
* Template Name: 블로그 페이지
*/
get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<!-- 아카이브 타이틀 -->
<?php the_archive_title('<h1 class="page-title">', '</h1>'); ?>
<!-- 아카이브 설명 -->
<?php the_archive_description('<div class="page-description">', '</div>'); ?>
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<!-- 글 제목 -->
<?php the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' ); ?>
</header>
<div class="entry-content">
<!-- 글 내용 -->
<?php the_excerpt(); ?>
</div>
</article>
<?php
endwhile;
<!-- 페이지네이션 -->
the_posts_pagination(array('prev_text' => 'Previous', 'next_text' => 'Next'));
else :
?>
<p><?php _e( 'No posts found.', 'textdomain' ); ?></p>
<?php
endif;
?>
</main>
</div>
<?php
get_footer();
?>
위 예제는 블로그 페이지 템플릿을 정의한 것으로, 페이지 제목, 아카이브 타이틀, 아카이브 설명, 페이지네이션 등을 포함하고 있습니다. 이 템플릿을 사용하여 블로그 페이지를 쉽게 생성할 수 있습니다.
이제 워드프레스 내장 함수를 활용하여 다양한 페이지와 컴포넌트를 동적으로 생성할 수 있습니다. 다음 시간에는 커스텀 사이드바와 위젯 추가 방법에 대해 알아보겠습니다.