[wordpress] 워드프레스 사이트에서 <head> 태그에 내용 추가하기

요즘 워드프레스 관련 글을 많이 포스팅 한다.

워드프레스로 구축한 사이트의 <head> 태그내에 특정 문자열(script)을 입력할 필요가 있다.
나같은 경우에는 구글 에드센스를 이용하는데.. 자동광고 기능이 나오면서, 이걸 한번 써보려고 했다.
자동광고는 스크립트를 <head> 태그내에 입력하면 자기가 알아서 띄워준다는 기능이다.

기존엔 위젯기능을 이용해서 사이드에 띄웠는데.. 여튼.. <head>에 넣자니 위젯으로 안돼서 좀 찾아봤다. 몇가지 방법이 있는데..

1. 먼저 테마 파일 자체를 건드리는 방법.

물론 추천하지 않는다. 테마 디렉토리의 header.php, footer.php 를 건드리면 가능하다. (테마파일은 워드프레스 설치위치/wp-content/themes/ 밑에 테마별로 있다.)
테마를 업데이트 할때마다 초기화 되고… 여튼.. 가능은 하다.

# vi ~/public_html/wp/wp-content/themes/twentyseventeen/header.php

2. 특정 테마를 사용하는 방법

일부 테마는 옵션에서 헤더/푸터 섹션에 코드를 추가할 수 있는 기능을 제공한다고 한다. (예를 들어 베스트셀링 테마인 아바다(Avada)가 그렇다는데.. 난 안써봤다.)

3. 플러그인 사용

Insert Header and Footers와 같은 플러그인을 사용하면 헤더와 푸터에 쉽게 코드를 추가할 수 있단다.

4. 후크(functions.php) 사용 <== 내가 쓰고 있는 방법

테마 안의 functions.php 를 이용하여 특정 엑션을 후크할 수 있다. (테마의 functions.php 를 바로 고치는것보다는 차일드테마를 생성하여 수정하는걸 추천한다. 차일드 테마 관련해서는 아래의 링크를 참고하라.)

[wordpress] 워드프레스 자식테마(Child theme) 만들어보기

# cat ~/public_html/wp/wp-content/themes/twentyseventeen-child/functions.php
<?php

/**
 *  Head Tag 에 구글 애드샌스 추가
 */
function child_theme_head_script() {
?>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({
          google_ad_client: "ca-pub-xxxxxxxxxxxx",
          enable_page_level_ads: true
     });
</script>
<?php
}

add_action( 'wp_head', 'child_theme_head_script' );

# 

위 코드의 예는 child_theme_head_script라는 함수를 만들어서.. 거기서 <script>코드를 찍어주고.. 그 함수를 wp_head 라는 액션에 걸었다. wp_head는 header.php 를 출력할때 실행되는 듯.

php 코드내에서 특정 html코드를 직접 써주고 싶으면.. “?>”로 php를 닫아주고.. html 코드를 적어주고.. 다시 “<?php” 로 php를 열어주면 된다.

Loading

댓글 남기기