이번에는 워드프레스에서 커스텀 사이드바를 추가하는 방법을 알려드릴게요.
크게 4단계로 나눠서 진행할 거예요.
사이드바를 나눠서, 관리하고 싶을 수 있잖아요? 그럴 때 추가하면 됩니다.
우선 functions.php 파일을 열어 다음 코드를 추가합니다. 이 함수는 사이드바를 등록하는 역할을 합니다.
// 커스텀 사이드바 위젯
function supernormal_widgets_sidebar_init()
{
register_sidebar(
array(
'name' => __('Sidebar', 'supernormal'),
'id' => 'sidebar-widget',
'description' => '',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
)
);
}
add_action('widgets_init', 'supernormal_widgets_sidebar_init');
name: 사이드바 명칭id: 사이드바 IDdescription: 사이드바 설명before_widget: 각 위젯 영역 오프닝 HTMLafter_widget: 각 위젯 영역 클로징 HTMLbefore_title: 각 위젯 타이틀 오프닝 HTMLafter_title: 각 위젯 타이틀 클로징 HTML사이드바를 추가할 파일(sidebar.php)을 열어 다음 코드를 추가합니다.
<?php if (is_active_sidebar('sidebar-widget')) : ?>
<div id="sidebar">
<?php dynamic_sidebar('sidebar-widget'); ?>
</div>
<?php endif; ?>
사이드바를 원하는 페이지에 추가합니다. 예를 들어, 특정 페이지 템플릿 파일에서 사이드바를 불러올 수 있습니다.
<?php get_sidebar(); ?>
또는 특정 사이드바를 불러오려면 다음과 같이 사용합니다.
<?php get_sidebar('sidebar-widget'); ?>
여러 사이드바를 등록하려면 배열과 반복문을 사용하여 functions.php 파일에 다음과 같은 코드를 추가합니다.
function supernormal_widgets_sidebar_init()
{
$my_sidebars = array(
array(
'name' => __('Blog Sidebar', 'supernormal'),
'id' => 'blogsidebar-widget',
'description' => '',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
),
array(
'name' => __('Works Sidebar', 'supernormal'),
'id' => 'workssidebar-widget',
'description' => '',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
),
array(
'name' => __('About Sidebar', 'supernormal'),
'id' => 'aboutsidebar-widget',
'description' => '',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
),
array(
'name' => __('Footer Sidebar', 'supernormal'),
'id' => 'footer-widget',
'description' => '',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
),
);
foreach ($my_sidebars as $sidebar) {
register_sidebar($sidebar);
}
}
add_action('widgets_init', 'supernormal_widgets_sidebar_init');
<?php if (is_active_sidebar('your-sidebar-slug')) : ?>
<div id="sidebar">
<?php dynamic_sidebar('your-sidebar-slug'); ?>
</div>
<?php endif; ?>
sidebar.phpsidebar-{name}.php – 특정 사이드바 이름에 해당하는 템플릿으로 우선 순위가 높음<?php get_sidebar('blogsidebar-widget'); ?>
이와 같은 방법으로 워드프레스에서 커스텀 사이드바를 추가하고 관리할 수 있습니다. 이를 통해 다양한 페이지에서 필요한 사이드바를 쉽게 사용할 수 있습니다.
로그인 후 이 콘텐츠를 이용할 수 있습니다.
강좌 공지가 등록되면 이곳에서 확인할 수 있습니다.