워드프레스의 숏코드를 삭제가 아닌 숨기는 방법

워드프레스에서 상당히 편리하게 사용하는 플러그인들의 숏코드, 하지만 그 플러그인을 더 이상 활용하지 않는 경우 머리 아픈 일이 발생하게 됩니다.
요즘 들어 페이지 빌더가 워드프레스로 웹사이트 제작 시에 기본적으로 활용되는 추세인 점을 감안하면 앞으로도 숏코드 문제가 제법 발생할 듯 합니다.

워드프레스 숏코드 삭제 - 숏코드 크리너 플러그인
Divi 빌더가 포함된 테마에서 일반 테마로 변경 후 발생하는 숏코드 노출 문제

이미 이렇게 문제가 되는 숏코드를 삭제하는 방법에 대한 글을 포스팅을 하였습니다.

이번에는 숏코드를 삭제하는 것이 아닌 감추는 방법에 대해 설명을 해보겠습니다.

Divi 빌더를 삭제하면 노출되는 숏코드 들은 [et_pb….로 시작을 합니다.
이렇게 시작되는 코드를 공백으로 치환을 해주는 방식입니다.

/* Remove Divi shortcodes */
add_filter('the_content', 'remove_shortcodes_divi');
function remove_shortcodes_divi( $content ) {
$content = preg_replace('/\[\/?et_pb.*?\]/', '', $content);
return $content;
}

위와 같은 코드는 테마의 functions.php에 추가를 해주면 됩니다.

그럼 노출되던 Divi 빌더 관련 숏코드들은 더 이상 보이지 않습니다.

워드프레스 숏코드 숨기기
그대로 남아 있는 숏코드들

웹사이트 방문자에게는 Divi 빌더 관련 숏코드가 보이지 않습니다만 페이지나 글을 편집하기 위해 열어보면 위와 같이 숏코드는 그대로 남아 있습니다.
즉 functions.php에 추가한 코드가 위 이미지의 긴 [et_pb…]로 시작하는 코드들을 모두 공백 하나로 변경을 해준다고 할 수 있습니다.

만약 Divi 빌더 관련 숏코드가 아닌 다른 플러그인의 숏코드라면 위의 코드를 응용해서 추가를 해주면 됩니다.

/* Remove related shortcodes  */
add_filter('the_content', 'related_remove_shortcodes');
function related_remove_shortcodes( $content ) {
$content = preg_replace('/\[\/?custom-related-posts title.*?\]/', '', $content);
return $content;
}

위 코드는 [custon-related-post..] 숏코드를 활용하는 연관 글 플러그인 입니다.
이렇게 숏코드에 맞게 변경을 해주면 됩니다.

워드프레스 숏코드를 숨기는 방법은

이 방법은 방문자들에게만 보이지 않게 하는 방법으로 숏코드는 그대로 DB에 남아있게 됩니다.
어찌보면 눈속임이라고 할 수 있습니다.
일단 급한대로 이 방식으로 숏코드 문제를 해결한 이후 직접 모두 숏코드를 제거하는 수고(?)를 하는 것이 좋습니다.
만약 DB에 쌓인 내용이 많다면 숏코드 크리너 플러그인의 유료버전을 구입해서 DB에서 한번에 삭제하는 것을 추천합니다.

위의 코드들은 꼭 차일드 테마의 functions.php에 추가를 하기를 추천합니다.
이용하고 있는 테마의 차일드 테마는 검색을 하면 쉽게 얻을 수 있을 것입니다.
그리고 혹시라도 테마를 변경하게 되면 위 코드들은 다시 functions.php에 추가를 해줘야 합니다.