이 HTML 부분을 바꾸려면 워드프레스의 어떤 파일을 수정해야 하나요?

들어가며

워드프레스 커뮤니티에 심심찮게 올라오는 질문 중 하나는 "이 HTML 부분을 바꾸려고 하는데, 워드프레스에서 어떤 파일을 수정하면 되나요?"와 비슷한 질문입니다.

사실 워드프레스는 PHP 기반이기 때문에, 서버단(Server-side)에서 PHP 파일과 JS 파일, CSS 파일 등을 처리하여 프런트엔드(클라이언트)에 뿌려준다고 생각하면 될 것 같습니다. 그러므로 실제 브라우저에서 표시되는 HTML 소스의 특정 부분이 어떤 파일에서 처리되어 표시되는지는 PHP 파일을 등을 분석하여 결정해야 합니다.

What will happen when someone views your WordPress posts

워드프레스 파일을 수정하기 전에 먼저 PHP가 어떤 역할을 하고 어떻게 사용되는지 등에 대한 기본적인 정보를 확인해보는 것이 좋을 듯합니다. 이를 위해서는 서버와 클라이언트와의 관계를 이해하는 것이 필수적입니다. 이 부분에 대해서는 여기를 참고해보세요.

참고로 구글 크롬이나 IE의 개발자 도구(F12)를 사용하여 브라우저에서 수정하더라도 화면상으로 수정이 되지만, 새로고침하면 다시 원상복귀가 됩니다. 그 이유는 수정하는 내용이 실제 워드프레스 테마 파일이나 플러그인 파일에는 반영되지 않기 때문입니다. 예를 들어, CSS를 수정하여 화면상으로 반영되는 것을 확인했다면, 실제 적용되도록 하려면 수정한 CSS 부분을 복사하여 워드프레스 테마의 스타일시트(style.css)에 추가해주어야 합니다. 워드프레스 스타일시트(style.css)에 사용자 CSS를 추가하는 방법은 이 글에서 확인해볼 수 있습니다.

워드프레스에 조금 익숙해지면 소스를 보고서도 대충 어느 파일을 수정하면 될 것이라는 것을 알 수 있습니다. 확인하기가 쉽지 않다면 전체 파일(하위 폴더)을 검색하는 프로그램을 사용할 수 있습니다.

하위 폴더를 포함한 전체 파일에서 검색하는 방법

Linux에서 전체 파일 검색하기

여러 폴더 내에서 특정 문자열을 검색하려는 경우, 파일이 몇 개 되지 않으면 직접 파일을 열어서 확인이 가능하지만, 파일이 수천 개가 있다면 직접 확인하는 방법은 정말로 무식하고 비현실적입니다. 이런 경우, 리눅스를 사용한다면 한 줄의 명령어로 가능합니다(정말 쉽죠잉?)

$ grep -rn "a string you want to search"

또는

$ find . -name "*" | xargs grep -n "a string you want to search"

또는

$ grep -r "string" .

대소문자를 구분하지 않으려면(참고)...

$ grep -ri "string" .

다음과 같은 방법도 시도해볼 수 있습니다(참고).

$ find . -type f -exec grep 'research' {} '+'

PHP 파일만 검색하려는 경우 다음과 같은 명령을 사용할 수 있습니다(참고).

grep -r --include=*.php "search string" /path/to/dir

하지만 Linux는 개발자 이외에는 그리 사용되지 않습니다. 저도 예전에는 테스트로 리눅스를 설치하여 사용했지만, 요즘은 거의 사용하지 않습니다. VMWare에 리눅스를 설치하여 꼭 필요한 경우에만 사용하는 정도입니다. 리눅스를 운영해보고 싶다면 VMWare에서 설치해보는 것도 괜찮은 방법입니다.

EmEditor 사용하기

Windows에서 저는 주로 "EmEditor"라는 텍스트 에디터를 사용합니다. 이외에도 여러 가지 에디터가 이 기능을 지원합니다. 익숙한 툴을 사용하면 됩니다. 저는 EmEditor를 거의 10년 훨씬 이상 사용해왔기 때문에 이 툴이 아니면 불편합니다. 이 편집기에서 최상위 폴더의 아무 파일을 열고 Ctrl+Shift+F(혹은 Search > Find in Files) 하위 폴더를 포함하여 전체 파일에서 원하는 단어나 어구를 검색할 수 있습니다.

이 HTML 부분을 바꾸려면 워드프레스의 어떤 파일을 수정해야 하나요? 2

EmEditor는 정규식(Regular Expressions)도 지원하므로 매우 강력한 검색이 가능합니다. (Regular Expression을 조금 익히면 꼭 프로그래밍 언어 분야가 아니더라도 여러 가지 측면에서 도움이 많이 됩니다. 정규식과 관련하여 도움이 되는 프로그램으로 RegexBuddy라는 프로그램이 있습니다.)

프리웨어 사용하기 - FindInFiles for Windows

EmEditor는 유료 프로그램입니다. 이외에도 찾아보면 무료 편집기도 있을 것입니다. 무료 프로그램으로 "FindInFiles for Windows"라는 프로그램이 있습니다. 아마 기업에서도 무료로 사용 가능할 것 같은데요, 자세한 것은 직접 확인해보시기 바랍니다. 이 프로그램에 대한 자세한 기능과 내용은 여기에서 확인해볼 수 있습니다.

사용법을 간단히 살펴보겠습니다. 만일 우커머스(WooCommerce)에서 "Your order"라는 단어가 어느 파일에 위치해있는지를 찾는 방법을 살펴보면:

  1. "woocommerce" 폴더에 마우스를 대고 오른쪽 클릭합니다.
  2. 상황 메뉴에서 "FindInFiles"를 선택합니다.
  3. 하위 디렉토리를 포함한 전체 파일에서 검색하고자 하는 단어나 문자열을 입력합니다.
  4. "Find"를 클릭하면 결과 창이 나타납니다.
  5. 라인을 클릭해보면 해당 파일을 여는 데 필요한 텍스트 에디터를 지정하라는 팝업 창이 뜹니다.  지원되는 텍스트 에디터로 UltraEdit, Sublime text, EditPlus, EmEditor, Vim, Notepad++, AcroEdit, DesyEdit, Crimson Editor, SciTE, Programmer's Notepad, EditPad 등이 있습니다.

사용하고 있는 텍스트 에디터에서 "전체 파일에서 찾기" 기능이 지원하는지를 확인해보시고, 그런 기능이 없다면 위의 옵션을 이용해보시기 바랍니다.

주의사항: 테마 수정 시 알고 있어야 하는 사항은 테마를 직접 수정하면 추후 테마 업데이트 시에 문제가 발생할 수 있다는 점입니다.  즉, 수정 사항이 모두 사라질 수 있습니다. 그러므로 가급적 차일드 테마(자식 테마)를 만들어서 작업하는 것이 바람직합니다. 이 글에서 효과적인 차일드 테마를 만드는 방법을 참고해보시기 바랍니다.

참고로 AVADA 등과 같은 유료 테마 또는 유료 플러그인을 사용하는 경우, 수정할 부분을 잘 파악할 수 없는 경우 테마 판매자에게 문의하면 친절하게 답변해줄 것입니다. 유료 테마나 플러그인은 사용자가 돈을 지불했기 때문에 지원 기간(보통 6개월 ~ 1년) 동안 지원 서비스를 충분히 활용하는 것도 일을 수월히 처리할 수 있는 방법 중 하나라고 생각됩니다.

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

7개 댓글

  1. 선생님, 혹시 구매한 호스팅에서 지원해주는 ftp c패널이나 php my admin 의 기능들의 설명의 자세한 책을 추천해주실 수 있나요? 이 사이트에서도 자식테마 만드는 방법이나 많은 지식을 공유할 수 있게끔 되어있어서 이북으로 만들어도 좋을 것 같아요. 보통 플러그인말고도 워프에 추가적인 기능을 functions.php 또는 스타일에서 주로 이루어지던데, 쇼핑몰 창업자들은 사이트를 만들어내기가 보통 쉬운게 아닌 것 같아요.. 한국형보다 워프의 국외 테마들을 선호하다보니.. 저는 현재 html css를 공부중인데 아직 기준점을 못잡은 것 같아요. ^^; 아참, 혹시 덧글 숨김 기능이나 개인적으로 이메일 문의는 가능한지 묻고싶습니다.. 항상 감사드립니다.

    1. 안녕하세요?

      블로그를 방문해주셔서 감사합니다.

      Html과 CSS의 경우 기본적인 사항만 공부하시면 될 것 같습니다. HTML은 별도로 공부할 내용은 없는 것 같고, 기본적인 개념만 확실히 잡아주면 될 것으로 보입니다.

      워드프레스 사용법과 테마, 그리고 페이지 빌더 사용법을 익히면 웬만한 사이트는 만들 수 있을 것 같습니다. 다만, 개발이 필요한 사안은 개발자에게 의뢰해야 할 것입니다.

      제가 아는 디자이너분은 아바다 테마(https://www.thewordcracker.com/go/avada )만 집중적으로 익혀서 웬만한 사이트를 다 만들고 있습니다.ㅎㅎ

      이 블로그에 사용된 댓글 시스템은 Disqus라는 댓글 시스템으로 덧글 숨김 기능을 제공하지 않습니다. 개인적으로는 별도로 문의를 받지 않고 있습니다. 궁금한 점은 관련 글의 댓글을 통해 문의하시거나, https://www.thewordcracker.com/forum/support-system 페이지에서 유료로 서비스를 의뢰하실 수 있습니다.

      블로그의 내용이 도움이 되셨다면 후원(https://www.thewordcracker.com/donation/ )을 통해 블로그 운영을 지원할 수 있습니다.ㅎㅎ

      참고로 저는 영한 번역가로 오랫동안 일하고 있습니다. 기회가 되면 괜찮은 워드프레스 서적을 번역하여 출간했으면 하는 막연한 생각이 있지만, 그런 기회는 좀처럼 없네요.

      그럼, 즐거운 휴일 되시기 바랍니다.

      1. 소중한 답변 감사드려요. 음.. 블로그 게시로도 매우 만족합니다ㅎ 아 그럼 영어도 잘하시겠네요!!! 아바다.. 저도 도전해봐야겠어요ㅋㅋ 한국의 워프 운영사이트를 언제나 응원합니다/./

      2. 안녕하세요?

        블로그를 자주 방문해주셔서 감사합니다:)

        요즘 해외에 많이 다녀오고 해서 영어 잘 하는 분들이 많은 것 같습니다.ㅎㅎ

        참고로 액수에 관계 없이 블로그 후원을 해주시는 분들께는 합리적인 수준에서 이메일을 통해 문의에 우선적으로 답변드리려고 노력하고 있습니다.

        일반적인 질문은 이 블로그의 관련 글에서 댓글로 올려주시면 시간될 때 아는 범위에서 답변을 드리겠습니다.

        혹시 다루었으면 하는 내용이 있으면 언제든지 댓글을 통해 알려주세요.

        그럼, 즐거운 주말과 휴일 되시기 바랍니다.

  2. 혹시 호스팅 FTP 서버에 올려져있는 폴더들은 어떻게 검색하죠..?
    따로 전체 다운받아서 하는 방법밖엔 없는건가요?

    1. 안녕하세요?

      Linux에서 전체 파일 검색하기 방법을 사용하려면 SSH로 접속하여 직접 가능할 것 같습니다.

      프로그램을 사용하려면 FTP를 통해 파일을 내려받아야 합니다.
      파일이 많고 웹호스팅 서버의 상태에 따라 시간이 걸릴 수 있을 것입니다.
      웹호스팅에서 압축 기능을 제공한다면 쉽게 다운로드가 가능합니다.

      https://www.thewordcracker.com/miscellaneous/%ED%95%B4%EC%99%B8-%EC%9B%B9%ED%98%B8%EC%8A%A4%ED%8C%85-%EB%A7%8E%EC%9D%80-%ED%8C%8C%EC%9D%BC%EC%9D%84-%EB%B9%A0%EB%A5%B4%EA%B2%8C-%EC%82%AD%EC%A0%9C-%EC%97%85%EB%A1%9C%EB%93%9C-%EB%B0%B1%EC%97%85/

댓글 남기기

* 이메일 주소는 공개되지 않습니다.