워드프레스 고급 강의 - 내장 함수

워드프레스에서 자주 사용되는 페이지, 컴포넌트 관련 내장 함수 – 워드프레스 강좌

저번 시간까지 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();
?>

위 예제는 블로그 페이지 템플릿을 정의한 것으로, 페이지 제목, 아카이브 타이틀, 아카이브 설명, 페이지네이션 등을 포함하고 있습니다. 이 템플릿을 사용하여 블로그 페이지를 쉽게 생성할 수 있습니다.

이제 워드프레스 내장 함수를 활용하여 다양한 페이지와 컴포넌트를 동적으로 생성할 수 있습니다. 다음 시간에는 커스텀 사이드바와 위젯 추가 방법에 대해 알아보겠습니다.