JavaScript 파일은 페이지 로딩 속도 측면에서 페이지의 body가 닫히기 바로 전에 추가해 주는 것이 가장 좋은데, WordPress에 기본적으로 추가된 jQuery는 꼭대기 head 부분에 붙어 있다.
이놈을 맨 아랫부분에 추가하려면, 테마 파일에 있는 functions.php 파일을 열고 WordPress의 wp_register_script()와 wp_enqueue_script() function을 사용하는 다음과 같은 코드를 추가해 준다.
여기에 있는 wp_register_script()
function의 parameter 중 네 번째와 다섯 번째가 중요한 요소인데, 각각 $ver
과 $in_footer
변수를 의미한다.
$ver
변수는 보통 JavaScript 파일 경로의 마지막 부분에 query string처럼 붙으면서 JavaScript 파일이 갱신되었을 때 caching된 것의 사용을 막으려고 사용되는데, jQuery처럼 Google CDN에서 불러올 때는 오히려 방해되므로 NULL
값을 줘서 없애버린다. 그리고 $in_footer
값에 true
를 주면 JavaScript가 body 맨 마지막 부분에 붙게 된다.
내용 갱신(2014년 6월 25일): 현재 설치된 WordPress 3.9.1 버전에선 위에서 설명했던 방법이 제대로 적용되질 않아서, 해결책을 검색한 결과 다음 페이지에서 해답을 얻을 수 있었다.: Unable to move wordpress jquery library into the footer – Stack Overflow
그래서, 가령 jQuery를 Google에서 호스팅하고 있는 것으로 바꿔서 페이지 마지막 부분에 추가해 주려면 functions.php 파일에 다음과 같이 등록해 준다.
나중에, Google에서 호스팅하고 있는 jQuery 버전이 갱신된다면, 위 코드에 작성된 jQuery의 호스팅 주소 중에 버전에 해당되는 부분만 새 것으로 바꿔주면 된다.
“WordPress에서 JavaScript 파일을 페이지 마지막 부분에 추가하는 법”에 달린 3개의 댓글
안녕하세요. 좋은 글 정말 감사합니다.
워드프레스로 사이트를 운영하고 있는데 수 많은 플러그인의 자바스크립트가 Head에서 불러와져서 페이지가 너무 느립니다.
플러그인에서 불러와지는 자바 스크립트들을 말씀하신 것처럼 이동하고 싶은데 어떻게 해야되는지 알려주실 수 있으신가요?
감사합니다.
찾아보니까 손쉽게 WordPress Plugins에 등록된 JavaScript를 footer에다 붙여주는 plugin이 또 있더군요. JavaScript to Footer | Prelovac.com. 설치하고 Plugins 페이지에서 활성화만 시켜주면 된답니다.
더불어서, WordPress Plugin을 설치하면 덤으로 CSS와 JavaScript 파일들이 추가되는데, 이것을 한데 묶어주는 몇 가지 방법을 소개한 글을 덧붙여 둡니다.
Taking Control of the CSS/JS that WordPress Plugins Load | CSS-Tricks
이렇게 하면 웹페이지 로딩 속도를 조금이라도 더 줄여줄 수 있겠지요.