긍정곰의 연구소

워드프레스 - 사용자 정의함수 추가하기 본문

긍정곰의개발일지/워드프레스

워드프레스 - 사용자 정의함수 추가하기

긍정곰 2016. 12. 30. 00:00

직접 만든 테마가 아니라 일반 테마를 쓰되 숏코드 같은 일부 기능을 사용하고 싶을때가 있다.


이때 그냥 functions.php에 함수를 바로 기술하고 사용하면 되지만 문제는 추후에 테마가 업데이트 되었을시에 개인적으로 작성하여 사용한 함수가 파일이 덮어씌워지면서 날아간다는데 있다.


이때 차라리 자체적인 파일을 만들어서 불러와서 쓰는 형태로 해둔다면 테마가 업데이트 된다고해서 기술된 함수 전체가 날아가는 불상사는 피할수있을것이다.


그렇게 하기위한 방법을 여기에 적어볼까한다.


우선 아래의 지식들이 필요하다.

1. 내가 사용하는 테마의 경로가 어디에 위치해있는가?

2. 간단한 PHP문법


1번 항목의 경우 일단 현재 워드프레스의 최신버젼인 4.6.1버젼(한국어판의 최신)을 기준으로 경로는 아래와 같다.


워드프레스 최상위 경로\wp-content\themes\본인이 쓰는 테마 폴더명


예를 들어 워드프레스 최상위 폴더가 wordpress이고 내가쓰는 테마가 twentyfifteen일 경우


wordpress\wp-content\themes\twentyfifteen


이 되는 것이다.


이 폴더에 들어가보면 css 부터 js, 기타 테마를 구성하고 있는 php파일들이 모두 모여있다.


여기 있는 파일들이 지금 사용하는 워드프레스의 화면표시와 레이아웃들을 담당하는것이다.


일단 나는 twentyfifteen 테마를 사용하고 거기에 내가 만든 사용자 정의 함수를 개별 파일로 추가할것이다.


이선 twentyfifteen 테마의 funtions.php파일보다 하위 디렉터리에 이 파일이 위치해야 하는데, 같은 폴더에 넣어두어도 상관은 없으나 그렇게 할경우 나중에 수정할때 그파일을 찾아내기가 번거롭다.


따로 해당 테마경로 안에 폴더를 만들어서 그곳에 넣을것이다.


폴더이름은 privateLib라고 할것이고 사용자 정의함수 파일 이름은 myfunctions.php로 할것이다.


그럼 아래와 같은 경로에 파일이 위치하면 되는것이다.


wordpress\wp-content\themes\twentyfifteen\privateLib\myfunctions.php


그럼 이제 준비는 거의 끝났다.


내가 만들어둔 함수를 테마내에서 불러와서 사용하려면 아래와 같은 구문을 해당 테마의 funtions.php 파일을 편집기로 열어 추가해주면 된다.


include_once(get_stylesheet_directory() . '/privateLib/myfunctions.php');


그러면 해당테마의 functions.php에 직접 함수를 추가해준것과 같은 효과를 낼수있다.

Comments