Link Away 플러그인 문제 수정[워드프레스]

Link Away는 워드프레스 포스트의 제목과 썸네일(특성 이미지) 링크를 지정한 URL로 바꾸어주는 플러그인입니다. 이를 위해 이 플러그인은 post_link 필터를 사용합니다. 이 플러그인의 소스 중에 문제가 되는 부분은

function append_query_string($url) {
global $post;
if ( get_post_meta($post->ID, 'inm_la_title_url', true) ) {
if ( get_post_meta($post->ID, 'inm_la_new', true) ) {
$link = get_post_meta($post->ID, 'inm_la_title_url', true) . '" target="_blank';
}else{
$link = get_post_meta($post->ID, 'inm_la_title_url', true);
}
}else{
$link = $url;
}
return $link;
}

이 부분입니다. 여기에서  . '" target="_blank' 부분이 문제가 됩니다.

Open in new window?(새 링크에서 열기)를 체크하지 않고 그냥 target="_blank"를 해당 소스에 추가하면 가장 간단합니다. 하지만 개별 글마다 달리 설정하려면 이 플러그인에 사용된 사용자 정의 필드 부분을 활용할 수 있도록 위의 소스를 아래와 같이 수정한 후에:

function append_query_string($url) {
global $post;
if ( get_post_meta($post->ID, 'inm_la_title_url', true) ) {
$link = get_post_meta($post->ID, 'inm_la_title_url', true);
}else{
$link = $url;
}
return $link;
}

target="_blank"가 추가될 부분(index.php, content.php, category.php 등 테마에 따라 다름)에 다음 코드를 추가합니다.

<?php if(get_post_meta($post->ID, 'inm_la_new', true)) { echo ' target="_blank"';} ?>

그러면 플러그인이 정상적으로 작동합니다.

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다