워드프레스 위젯은 디자인과 용도에 따라 사이드바, 헤더, 푸터 영역에 배치하여 사용할 수 있습니다. 위젯은 사이드바에서만 등록이 가능하므로 register_sidebar, dynamic_sidebar 함수를 이용해 등록 할 수 있습니다. 이 글에서는 위젯 추가하는 방법을 살펴보겠습니다.
function 테마명_widget_init(){
register_sidebar(
array(
'name'=> __('sidebar1', '테마명'),
'id'=> 'custom-widget1',
'description'=>__('헤더용 사이드바', '테마명')
)
);
}
add_action('widgets_init', '테마명_widget_init')
코드에서 name과 id는 적절히 수정해주도록 합니다. 위의 코드를 functions.php 파일에 추가하면 관리자 페이지에서 외모 > 위젯으로 이동해보면 다음과 같이 새로운 위젯 영역이 추가되어 있습니다.
위젯 구성 화면에서 원하는 위젯을 만듭니다.
<?php if(is_active_sidebar('custom-widget1')) { ?>
<div>
<?php dynamic_sidebar('custom-widget1'); ?>
</div>
<?php } ?>
위젯을 화면에 헤더에 출력하기 위해서 header.php 파일에 상단 코드를 배치합니다. dynamic_sidebar 함수를 호출하여 register_sidebar 함수에 등록한 id를 인자로 넣어줍니다. 헤더 뿐만 아니라 푸터, 본문(예를 들어 footer.php, page.php, index.php) 등 필요한 곳에 입력할 수 있습니다.
이렇게 헤더부분에 커스텀한 위젯이 나온 것을 확인할 수 있습니다. 추가적으로 style.css 파일에서 디자인을 입히는 작업을 할 수 있습니다.