모든 워드프레스 포스트/페이지에서 특정 단어/문구를 일괄 변경하기

Last Updated: 2023년 07월 17일 | | 2개 댓글

워드프레스의 모든 글이나 페이지 내의 특정 단어 혹은 문구를 일괄적으로 변경하고 싶은 경우가 있을 수 있습니다. 예를 들어, 오타가 난 경우일 수도 있고, 회사명 등을 바꾸기를 원할 수도 있습니다.

모든 워드프레스 포스트에서 특정 단어/문구를 일괄적으로 변경하기

이런 경우 두 가지 방법을 생각해볼 수 있습니다.

  1. 워드프레스 후크(필터)를 사용하는 방법
  2. 플러그인을 사용하는 방법
  3. 데이터베이스에서 직접 변경하는 방법

워드프레스 필터를 사용하여 변경하는 경우 실제로 단어/어구가 변경되지는 않습니다. 그리고 이 방법을 사용하면 새롭게 작성되는 글에도 그대로 적용됩니다.

플러그인을 사용하거나 DB에서 변경하는 방법은 영구적으로 변경하고자 할 때 사용할 수 있습니다. 필터를 사용하면 워드프레스에서 함수로 추가되기 때문에 워드프레스에서 글/페이지를 불러올 때마다 체크하여 적용해주어야 하지만 DB에서 변경하면 이미 변경되어 있기 때문에 워드프레스에 추가적인 부담을 주지 않을 것입니다.

필터를 사용하는 방법은 워드프레스 함수 파일에 간단한 코드를 추가하기 때문에 누구나 쉽게 가능하지만, DB에서 변경하려면 phpMyAdmin에 접속하여 작업해야 하므로 초보자에게 쉽지 않을 수 있습니다. 특히 DB에서 작업할 경우 항상 미리 DB를 백업을 받아놓도록 합니다. DB에서의 작업은 되돌릴 수가 없습니다.

플러그인을 사용하여 워드프레스에서 문자열 일괄 변경

가장 손쉬운 방법으로 플러그인을 사용하여 문자열을 일괄 변경할 수 있습니다. 플러그인을 사용하여 변경할 경우 DB에서 영구적으로 변경되므로 미리 백업을 실시하여 다운로드하는 것이 안전합니다.

여러 가지 플러그인이 있는데요. Better Search Replace 플러그인이 많이 사용됩니다.

플러그인 » 새로 추가에서 Better Search Replace를 검색하여 설치하도록 합니다. 이 플러그인을 활성화한 다음, 도구 » Better Search Replace로 이동하여 문자열을 찾아서 변경할 수 있습니다.

모든 워드프레스 포스트/페이지에서 특정 단어/문구를 일괄 변경하기

위와 같은 화면이 표시됩니다.

  • Search for: 찾을 문자열을 입력합니다.
  • Replace with: 새 문자열을 입력합니다. 찾은 문자열을 이 문자열로 교체됩니다.
  • Select tables: DB 테이블을 선택합니다. 전체적으로 변경할 경우 모든 테이블을 선택하면 됩니다.
  • Run as dry run: 이 옵션을 체크하면 결과를 미리 확인할 수 있도록 시험적으로 실행되며 실제로 변경 사항이 적용되지는 않습니다. 드라이런(Dry run)을 실행한 후에, 결과에 만족하면 이 옵션의 체크를 해제하고 Run Search/Replace를 실행하면 실제로 DB에서 변경 사항이 적용됩니다.

DB 테이블이 너무 큰 경우에는 에러가 발생할 수 있습니다. 그런 경우에는 DB에서 문자열을 일괄 변경할 수 있습니다.

실행 후에는 되돌릴 수 없으므로 신중하게 사용하시기 바랍니다. 그리고 반드시 DB 백업을 실시한 후에 이 작업을 수행할 것을 권장합니다.

워드프레스 필터를 사용하여 특정 단어/문구를 일괄적으로 변경하기

다음과 같은 코드를 사용 중인 워드프레스 테마의 함수 파일(functions.php)에 추가합니다. 이 작업을 수행하기 전에 차일드 테마(자식 테마; 하위 테마)가 없다면 하나 만들도록 합니다("원클릭으로 간편하게 차일드 테마 만들기" 참고).

function replace_content($content)
{
$content = str_replace('변경_전_문구', '변경_후_문구',$content);
return $content;
}
add_filter('the_content','replace_content');

변경 전 문구와 변경 후 문구를 원하는 단어/문구로 변경하도록 합니다.

phpMyAdmin에서 MySQL 쿼리 문자열(string)을 찾아서 변경하기

DB에서 일괄 변경하려는 경우에는 먼저 phpMyAdmin에 접속해야 합니다. 보통 호스팅 업체의 홈페이지에서 로그인한 후 phpMydmin에 접속할 수 있습니다. 예를 들어, 이 블로그가 현재 이용 중인 해외 웹호스팅 Bluehost의 경우 cPanel에 로그인한 후에 database tools > phpMyAdmin을 클릭하면 됩니다.

블루호스트에서 phpMyAdmin에 접속하기

phpMyAdmin에 접속하면 해당 DB를 선택하고 SQL 탭을 클릭합니다.

블루호스트에서 phpMyAdmin에 접속하기

위와 비슷한 화면이 표시되면(phpMyAdmin 버전과 설정된 언어에 따라 UI는 조금씩 다릅니다) 아래의 코드를 빈칸에 입력합니다.

update wp_posts set post_content =
replace(post_content,'변경_전_문구','변경_후_문구');

위에서 언급했듯이 이 작업을 실행하기 전에 반드시 DB를 백업하시기 바랍니다. 이 작업으로 인해 어떤 문제가 발생해도 책임지지 않습니다.

위의 코드를 입력한 후에 맨 아래의 "실행"을 클릭하면 DB에서 일괄적으로 해당 텍스트가 새로운 텍스트로 변경됩니다.

마치며

다양한 방법으로 포스트/페이지 내의 특정 단어/텍스트를 일괄 변경하는 방법에 대해 살펴보았습니다. 이러한 방법을 통해 원하는 텍스트만 스타일을 다르게 지정할 수 있습니다. 플러그인을 사용하면 간단하지만 개인적으로는 플러그인 사용을 별로 선호하지 않는 편입니다. 플러그인 사용은 최소화하는 것이 바람직합니다.

참고


2 개 댓글

Leave a Comment

  1. 안녕하세요. 위의 'PHPMYADMIN에서 MYSQL 쿼리 문자열(STRING)을 찾아서 변경하기' 방법으로 문구를 변경하였습니다. 저 같은 경우에는 필요없는 문구를 아예 공백으로 삭제하였는데요. 위와 같은 명령을 실행한 뒤 다시 되돌리거나 수정하려면 어디에 들어가서 해야 할까요???

    응답
    • 본문에 언급되어 있듯이 DB 작업은 되돌릴 수 없습니다. 백업본이 있다면 백업본으로 복구하시기 바랍니다. 카페24 등에서는 어제 버전으로 되돌릴 수 있습니다. 클라우드웨이즈에서도 복원이 가능합니다. 백업본이 없다면 호스팅 업체에 연락하여 문의해보시기 바랍니다.

      응답
할인 소식
Divi 레이아웃 AI 출시 기념 할인!
AI로 이미지, 텍스트, 코딩, 전체 페이지 레이아웃 생성 가능
베스트셀링 워드프레스 테마 Divi
0
0
시간
0
0
Limited Time Offer
You This Coupon Code in Checkout
Click the code to Copy