워드프레스 블로그 글 본문의 3번째 문단 뒤와 같이 n번째 문단 뒤에 구글 애드센스 광고를 추가하고 싶은 경우 Ad Inserter 플러그인을 사용하면 편리합니다. 이 글에서는 테마 함수 파일에 커스텀 코드를 추가하여 n번째 문단 뒤 또는 마지막 문단 앞에 애드센스 광고를 표시하는 방법에 대하여 살펴보겠습니다.
3번째 문단 뒤 또는 마지막 문단 앞에 애드센스 광고 표시하기
이 블로그에서 소개한 적이 있는 Ad Inserter 플러그인을 사용하면 정교하게 광고 배치 위치를 설정할 수 있습니다.
예를 들어, 3번째 문단 뒤에 광고 코드를 추가하고 싶은 경우 다음과 같이 설정할 수 있습니다.
애드센스 광고 코드가 아니더라도 원하는 문구나 코드를 추가할 수 있습니다.
플러그인을 사용하지 않고 N번째 문단 뒤/마지막 문단 앞에 광고 추가하기
플러그인을 사용하지 않고 N번째 단락 뒤에 AdSense 광고 코드를 추가하고 싶은 경우 다음과 같은 코드를 테마 함수 파일에 추가하여 테스트해보시기 바랍니다. (차일드 테마를 만들어 작업하세요.)
add_filter( 'the_content', 'prefix_insert_post_ads' );
function prefix_insert_post_ads( $content ) {
$ad_code = ' 애드센스 광고 코드 추가 (Add Your AdSense Ad Code Here ';
if ( is_single() && ! is_admin() ) {
return prefix_insert_after_paragraph( $ad_code, 3, $content );
}
return $content;
}
function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
$closing_p = '</p>';
$paragraphs = explode( $closing_p, $content );
foreach ($paragraphs as $index => $paragraph) {
if ( trim( $paragraph ) ) {
$paragraphs[$index] .= $closing_p;
}
if ( $paragraph_id == $index + 1 ) {
$paragraphs[$index] .= $insertion;
}
}
return implode( '', $paragraphs );
}
위의 코드에서 숫자 3를 4, 5 등으로 적절히 변경하여 테스트해볼 수 있습니다. 관리자로 로그인 시에는 광고가 표시되지 않으므로 로그아웃 상태에서 확인해야 합니다.
상기 코드는 GeneratePress 테마에서 테스트할 때 작동합니다. 다른 테마에서도 잘 작동할 것으로 보이지만, 작동하지 않을 경우 Ad Inserter와 같은 구글 애드센스 광고 플러그인을 사용하는 것을 고려해볼 수 있습니다.
마지막 문단 앞에 광고를 표시하고 싶은 경우에는 다음과 같은 코드로 테스트해보세요.
// Place Google AdSense ads before the last paragraph in wordpress
add_filter('the_content', 'ad_signal');
function ad_signal($content)
{
if (!is_single()) return $content;
$tent = get_the_content();
$content = explode("</p>", $content);
$ss = count($content);
$ns = $ss-1; //** 워드프레스 마지막 문단 앞, before last paragraph in wordpress **
$new_content = '';
for ($i = 0; $i < count($content); $i++) {
if ($i == $ns ) {
$new_content.= ' <div style="text-align:center;">';
$new_content.= 'Your AdSense Ad Code Here';
$new_content.= '</div>';
}
$new_content.= $content[$i] . "</p>";
}
return $new_content;
}
위의 코드는 Stackoverflow 문서에서 인용한 것입니다. 참고로 Ad Inserter에서는 마지막 단락 앞에 광고를 추가하는 옵션은 제공되지 않는 것 같습니다. 위의 코드를 응용하여 '뒤에서 두 번째 문단 앞' 등에 광고를 넣는 것도 가능할 것입니다.
워드님이 알려주신 마지막 문단 앞과 0문단 뒤(제목 아래 첫문단 나오기전) 두곳에 광고를 배치하려면 어떠한 코드를 써야 할까요? 두개 합친 코드는 못찾겠어요.
Ad Inserter 플러그인을 사용하시면 쉽게 원하는 대로 설정이 가능합니다.
0문단 뒤는 제목 아래를 의미하는 것 같은데요, Ad Inserter에서 Before Content를 선택하여 테스트해보시기 바랍니다.
잘 안 되는 경우에는 다음 글을 참고하여 CSS 클래스를 기준으로 광고를 배치하는 것도 가능합니다.
https://www.thewordcracker.com/intermediate/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-css-%EC%84%A0%ED%83%9D%EC%9E%90-%EC%A0%84%ED%9B%84%EC%97%90-%EA%B4%91%EA%B3%A0-%EC%82%BD%EC%9E%85%ED%95%98%EA%B8%B0/
참고로 GeneratePress 테마를 사용하는 경우 Elements를 사용하여 제목 아래, 콘텐츠 뒤 등의 위치에 광고나 원하는 문구나 코드를 추가할 수 있습니다.
https://www.thewordcracker.com/intermediate/generatepress-%ED%85%8C%EB%A7%88-%ED%9B%84%ED%81%AC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0/