【워드프레스】 사이드바에 PHP 코드 넣는 방법

사이드바에 PHP 코드 넣는 방법

[ 워드프레스 목차 보기 ]

이번 포스트에서는 워드프레스의 사이드바에 PHP 코드를 넣을 수 있는 방법을 알아보겠습니다. 사이드바에 PHP 코드를 넣을 수 있다는 의미는 사용자가 자신이 원하는 위젯을 만들 수 있다는 의미이기도 합니다. 따라서 PHP를 조금이라도 아시는 분들에게는 매우 유용한 방법이 될 수 있습니다.

여기서 소개하는 방법은, 기본 워드프레스 위젯 중의 하나인 텍스트 위젯(text widget)를 수정하여, 텍스트 위젯에 입력된 PHP 코드를 동작시키는 방법입니다.

[1] functions.php 수정으로 텍스트 위젯에 PHP 코드 실행시키기

사이드바에 PHP 코드를 넣기 위해 functions.php에서 텍스트 위젯에 관한 코드를 수정해보겠습니다.
[1] 대쉬보드 > Appearance > Theme Editor 로 갑니다.

Wordpress Theme Editor

[2] functions.php를 클릭합니다.
[3] 코드창의 위치에 아래 코드를 복사/붙여넣기를 합니다.
[4] 아래에 있는 Update File 버튼을 클릭하여 저장합니다.

Functions.php

function widget_text_for_php($text) {
    if (strpos($text‘<?’!== false ) {
        ob_start();
        eval (‘?>’.$text.‘<?php’);
        $text = ob_get_contents();
        ob_end_clean();
    }
    return $text;
}
 
// hook a custom widget text
add_filter(‘widget_text’‘widget_text_for_php’);

[2] 사용방법

모든 설정을 다 끝냈다면, 사용법에 대해여 간단히 알아봅시다.

[1] 대쉬보드 > Appearance > Widgets로 들어갑니다.

워드프레스 widgets 위치

[2] 위젯을 추가하기 위해 +버튼을 클릭합니다.
[3] 검색창에 text라고 검색합니다.
[4] 검색결과에서 text 위젯을 클릭합니다.

text widget

[5] 텍스트 위젯이 생성되면, Visual이 아니라 Text 모드를 클릭합니다. text 모드에서 작성하는 이유는, Visual에서 작성된 특수문자들은 이스케이프(escape)되서 표시되기 때문입니다. 예를 들어 <?php 를 입력했다고 했을 때, <는 &lt;으로 이스케이프 처리가 됩니다. 따라서 PHP 코드가 실행되는 것이 아니라, 코드들은 텍스트 형태로 그대로 표시되게 됩니다.
[6] 코드창에 원하는 PHP 코드를 입력하시면 됩니다. 여기서는 테스트용으로 간단하게 hello world를 출력하는 코드를 작성해 보았습니다.
[7] 상단에 있는 Update 버튼을 클릭하여 저장합니다.

워드프레스 텍스트 위젯에 PHP 코드 작성

[결과] 웹사이트에 들어가서 사이드바를 보면, 텍스트 위젯 위치에 “hello world”가 성공적으로 출력되었음을 확인할 수 있습니다. 여기서는 단순하게 hello world를 출력하는 위젯을 만들었지만, PHP 코드를 사용하면 워드프레스가 제공하는 API를 마음껏 사용할 수 있고, 따라서 정말 다양한 기능들이 들어간 위젯들을 만들 수도 있습니다.

사이드바 텍스트 위젯 PHP 코드 실행 결과

참고
[ 워드프레스 목차 보기 ]

Leave a Reply