WordPress에서 functions.php를 찾고 액세스하고 편집하는 방법

게시 됨: 2022-08-23

워드프레스 개발을 막 시작했다면, 여러분이 숙지해야 할 가장 중요한 파일 중 하나는 functions.php 파일입니다. 실제로 WordPress 웹 사이트에서 사용할 수 있는 세 가지 functions.php 파일이 있으며 각각 다른 역할을 합니다. 이러한 파일이 있는 위치, 파일의 용도, 파일 수정 방법 및 시기를 알면 문제를 해결할 때 도움이 되고 사이트 기능을 더 잘 제어할 수 있습니다.

이 기사에서는 WordPress functions.php 파일에 대해 알아야 할 모든 것을 다룰 것입니다. functions.php 가 하는 일과 그것을 찾고 편집하는 방법을 배우게 될 것입니다. 시도해 볼 수 있는 몇 가지 유용한 코드 조각도 포함할 것입니다.

처음부터 시작하여 아래 목차를 사용하여 특정 섹션을 읽거나 이동할 수 있습니다.

  • WordPress의 functions.php 는 무엇입니까?
  • functions.php 파일은 어디에 있습니까?
  • functions.php 에 액세스하는 방법
    • WordPress 관리 인터페이스에서 functions.php 에 액세스
    • FTP를 통해 functions.php 에 액세스
    • cPanel에서 functions.php 액세스
  • WordPress에서 functions.php 를 언제 편집해야 하나요?
  • WordPress에서 functions.php 를 편집하는 방법
    • WordPress 테마 파일 편집기에서 functions.php 편집
    • 텍스트 편집기로 functions.php 편집하기
    • cPanel에서 직접 functions.php 편집
  • 플러그인을 사용하여 WordPress 사이트에 기능 추가
  • 보안 악용으로부터 functions.php 를 보호하는 방법
  • WordPress의 functions.php 에 어떤 코드를 추가할 수 있습니까?
  • 자주하는 질문
    • functions.php 를 편집하려면 자식 테마를 만들어야 하나요?
    • WordPress 대시보드에 액세스할 수 없는 경우 백업에서 functions.php 를 어떻게 복원합니까?
    • functions.php 파일에 JavaScript를 추가할 수 있습니까?

WordPress의 functions.php 는 무엇입니까?

WordPress에서 functions.php 파일은 사이트 작동 방식을 결정하는 중요한 코드가 있는 곳입니다. 실제로 모든 WordPress 웹 사이트에는 적어도 두 개의 functions.php 파일이 있습니다. 하나는 WordPress 코어에 포함되고 다른 하나는 테마에 포함됩니다. 하위 테마를 사용하는 경우 하위 테마 폴더에 functions.php 도 있어야 합니다.

WordPress 코어의 functions.php 파일에는 WordPress가 작동하는 데 필요한 중요한 코드가 포함되어 있습니다. WordPress 코어의 functions.php 파일에 있는 코드를 거의 수정해서는 안 됩니다.

테마의 functions.php 파일은 사용자 지정 메뉴 위치, 위젯 영역, 사용자 지정 머리글 및 바닥글 콘텐츠 및 기능, 발췌문 길이 등 웹사이트의 모든 테마별 기능이 있는 곳입니다.

테마의 functions.php 파일은 WordPress 플러그인과 거의 동일한 방식으로 작동합니다. 차이점은 functions.php 는 테마별 코드에 사용해야 하는 반면 플러그인은 테마를 전환해도 유지되는 기능에 사용해야 한다는 것입니다.

functions.php 파일은 어디에 있습니까?

우리는 워드프레스 코어와 테마 파일 모두에서 functions.php 파일이 하는 일에 대해 이야기했지만, functions.php 파일은 어떻게 찾나요? WordPress의 functions.php 는 어디에 있습니까?

모든 WordPress 파일은 사이트의 루트 디렉토리와 다양한 하위 폴더에 있습니다. 루트 디렉토리는 일반적으로 public_html 또는 www 와 같은 이름으로 지정되지만 다른 이름을 가질 수도 있습니다. 서버에서 WordPress 설치 폴더를 찾을 수 있는 위치를 모르는 경우 웹 호스트에 문의하십시오.

서버에서 WordPress 파일이 있는 위치를 찾으면 functions.php 파일을 찾을 수 있습니다. 우리는 functions.php 에 대해 WordPress 코어, 테마 폴더 및 자식 테마 폴더의 최대 세 위치가 있다고 언급했습니다. 이 섹션에서는 각각을 찾을 수 있는 위치를 살펴보겠습니다.

WordPress 코어의 functions.php 는 어디에 있습니까?

WordPress 코어에서 functions.php 의 위치를 ​​찾고 있다면 WordPress 설치의 wp-includes 폴더에서 찾을 수 있습니다.

wp-includes에서 functions.php 파일 찾기

워드프레스 코어에서 functions.php 를 편집해서는 안 되지만 이런저런 이유로 검사해야 할 수도 있습니다. WordPress 코어의 functions.php 를 탐색하는 가장 가능성 있는 시나리오는 악성 코드가 삽입된 것으로 의심되는 경우입니다.

functions.php 를 열기 전에 실수로 중요한 오류를 일으키는 파일을 변경하는 경우를 대비하여 WordPress 사이트를 백업해야 합니다. functions.php 가 손상되었거나 해킹된 것으로 확인되면 영향을 받는 WordPress의 다른 영역이 있을 수 있습니다. 가장 좋은 방법은 문제가 되는 모든 스크립트를 하나씩 제거하는 대신 WordPress를 새로 설치하는 것입니다.

내 WordPress 테마 폴더에서 functions.php 는 어디에 있습니까?

테마의 functions.php 파일은 테마 폴더의 기본 디렉토리에 있습니다: wp-contenttheme → yourtheme .

테마 폴더에서 functions.php 파일 찾기

WordPress 하위 테마 폴더의 functions.php 는 어디에 있습니까?

WordPress 하위 테마 functions.php 파일은 하위 테마 폴더의 기본 디렉토리에 있습니다: wp-content → theme → yourtheme-child .

자식 테마 functions.php 파일 찾기

functions.php 에 어떻게 접근합니까?

functions.php 가 어디에 있는지 아는 것은 작업의 절반에 불과합니다. 이제 WordPress에서 functions.php 에 액세스하는 방법에 대한 질문이 나옵니다. WordPress 코어의 functions.php 파일은 보안 파일 전송 프로토콜(SFTP) 또는 cPanel을 통해서만 액세스할 수 있지만 테마 및 하위 테마 functions.php 파일은 WordPress 테마 파일 편집기에서도 액세스할 수 있습니다.

WordPress 테마 파일 편집기에서 functions.php 액세스

테마 또는 하위 테마의 functions.php 파일에 액세스해야 하는 경우 WordPress 테마 파일 편집기에서 직접 액세스할 수 있습니다. WordPress 대시보드에서 모양 → 테마 파일 편집기 로 이동합니다.

테마 편집 페이지로 이동합니다. 여기에서 편집할 테마 선택 옆의 드롭다운 아래에서 테마를 선택하고 선택 을 클릭합니다. 화면 오른쪽 끝에 있는 테마 파일 열 아래에 편집할 수 있는 파일 목록이 표시됩니다. functions.php 를 클릭하여 파일을 엽니다.

functions.php 파일 찾기

상위 테마의 functions.php 파일에 있는 경우 파일 업데이트 버튼 위의 화면 하단에 "주의: 현재 상위 테마의 파일입니다."라는 경고 알림이 표시됩니다.

참고: 테마 개발자가 아닌 경우 향후 테마 업데이트에서 편집 내용을 덮어쓰지 않도록 자식 테마의 functions.php 파일을 변경해야 합니다.

SFTP를 통해 functions.php 에 액세스

1단계: SFTP 클라이언트를 설치합니다. SFTP 클라이언트가 아직 없는 경우 다운로드해야 합니다. 다음과 같은 훌륭한 무료 및 프리미엄 옵션이 있습니다.

신청 체계 무료 또는 프리미엄
WinSCP 무료
파일질라 윈도우, 맥, 리눅스 무료 및 프리미엄 옵션
사이버덕 윈도우, 맥 무료
부치다 프리미엄

이 예에서는 Filezilla를 사용합니다. 다른 SFTP 클라이언트도 비슷한 방식으로 작동해야 합니다.

2단계: SFTP 자격 증명을 검색합니다. SFTP를 통해 서버에 로그인하려면 다음 세부 정보가 필요합니다.

  • 호스트(서버의 IP 주소 또는 URL)
  • SFTP 사용자 이름
  • 비밀번호
  • 포트 번호

이러한 세부 정보는 일반적으로 호스팅 제어판에서 찾을 수 있습니다. 이 정보는 귀하를 위해 생성되거나 호스트가 SFTP 사용자 이름과 비밀번호를 생성하라는 메시지를 표시할 수 있습니다. 이러한 자격 증명을 어디에서 찾아야 하는지 모르거나 만드는 방법을 찾는 데 문제가 있는 경우 호스트의 도움말 문서에서 지침을 검색하거나 지원 팀에 문의하십시오.

3단계: SFTP 자격 증명을 입력합니다.

호스트의 IP 주소 또는 URL, SFTP 사용자 이름, 비밀번호 및 포트 번호(보통 22 또는 2222이지만 일부 호스트는 다른 포트를 사용할 수 있음)를 입력합니다.

Filezilla에서 sftp 자격 증명 입력

참고: SFTP 클라이언트가 처음 사용 시 신뢰(TOFU) 인증을 사용하는 경우 '알 수 없는 호스트 키' 경고가 표시될 수 있습니다. SFTP 클라이언트를 사용하여 사이트에 다시 액세스하려는 경우 '항상 이 호스트를 신뢰하고 이 키를 캐시에 추가'를 선택하십시오. 계속하려면 확인 을 클릭하십시오.

filezilla의 알 수 없는 호스트 키 메시지

4단계: 웹사이트의 루트 디렉터리로 이동합니다.

로그인하면 화면 버튼에 두 개의 파일 트리가 표시됩니다. 하나는 왼쪽에, 다른 하나는 오른쪽에 있습니다. 오른쪽에는 웹 서버(원격)의 디렉토리가 나열됩니다. 왼쪽에는 컴퓨터(로컬)의 디렉터리가 나열됩니다.

루트 디렉토리는 일반적으로 www 또는 public_html 폴더에 있지만 다른 이름을 사용할 수 있습니다. 어떤 폴더를 찾아야 할지 잘 모르겠다면 호스팅 제공업체에 문의하세요. 파일 목록 상단 근처에 wp-admin , wp-contentwp-includes 폴더가 있으면 올바른 폴더에 있는 것입니다.

Filezilla에서 public_html 폴더 찾기

5단계: WordPress 코어, 상위 테마 또는 하위 테마에서 functions.php이동합니다 . WordPress 코어에서 functions.php 를 찾고 있다면 wp-includes 폴더로 이동합니다.

테마 디렉토리에서 functions.php 를 찾고 있다면 wp-contentthemeyourtheme 로 이동합니다.

자식 테마의 functions.php 파일을 찾으려면 wp-content → theme → yourtheme-child로 이동하세요.

6단계: functions.php다운로드 합니다 . 이제 functions.php 의 위치를 ​​알고 액세스했으므로 파일을 검사하거나 편집할 수 있습니다. 그렇게 하기 전에 다운로드해야 합니다. functions.php 파일을 마우스 오른쪽 버튼으로 클릭하고 다운로드 를 선택합니다. 파일이 로컬 컴퓨터에 다운로드됩니다.

Filezilla에서 functions.php 파일 다운로드

cPanel에서 functions.php 액세스

호스트가 cPanel을 사용하는 경우 파일 관리자를 통해 functions.php 에 액세스할 수 있습니다. 호스트 대시보드에서 cPanel을 찾는 방법을 모르는 경우 고객 지원에 문의하여 도움을 받으세요.

1단계: cPanel의 파일 관리자를 엽니다. cPanel에서 파일 섹션으로 이동하여 파일 관리자 를 클릭합니다.

2단계: 웹사이트의 루트 폴더를 엽니다. 루트 폴더는 일반적으로 www 또는 public_html 이라고 하지만 다른 이름이 있을 수 있습니다. 루트 폴더 명명 규칙은 호스트에 따라 다르므로 어떤 폴더를 찾아야 할지 잘 모르는 경우 호스팅 제공업체에 문의하세요.

파일 목록 상단 근처에 wp-admin , wp-contentwp-includes 폴더가 있으면 올바른 폴더에 있는 것입니다.

3단계: functions.php 를 찾아 다운로드 합니다 . WordPress 코어용 functions.php 파일은 wp-includes 폴더에 있습니다.

테마의 functions.php 파일은 wp-content → theme → yourtheme 에 있습니다.

자식 테마의 functions.php 파일을 찾고 있다면 wp-content → theme → yourtheme-child에서 찾을 수 있습니다.

원하는 functions.php 파일을 찾으면 functions.php 를 마우스 오른쪽 버튼으로 클릭하고 다운로드 를 클릭하거나 functions.php 를 한 번 클릭한 다음 상단 메뉴에서 다운로드 옵션을 클릭하십시오.

cpanel에서 functions.php 파일 다운로드

파일을 저장할 때 파일 이름을 변경하는 경우 다시 업로드하기 전에 파일 이름을 functions.php 로 다시 지정해야 합니다. 그리고 functions.php 를 변경하고 덮어쓰기 전에 WordPress 사이트를 백업하십시오.

WordPress에서 functions.php 를 언제 편집해야 하나요?

functions.php 를 편집하는 방법에 대해 알아보기 전에 편집해야 하는지 여부시기 에 대해 이야기해야 합니다. WordPress에서 PHP 코드를 편집하려는 이유는 여러 가지가 있지만 functions.php 파일에 해당 코드를 추가하는 것이 항상 최선의 선택은 아니며 특정 상황에서만 수행해야 합니다. 이에 대해서는 아래에서 설명합니다.

WordPress 코어에서 functions.php 를 편집할 때

절대. 워드프레스 코어에서 functions.php 를 편집해서는 안됩니다. 기껏해야 손상된 것으로 확인되면 교체할 수 있지만 WordPress core functions.php 에 코드를 삭제하거나 추가하면 사이트가 손상될 수 있습니다. 따라서 열어보고, 검사하고, 필요한 경우 새 사본으로 교체할 수 있지만 라이브 웹 사이트를 어지럽히지 마십시오.

테마에서 functions.php 를 편집할 때

테마의 functions.php 파일에 관해서는 편집할 필요가 있을 수도 있고 그렇지 않을 수도 있습니다. 자신만의 테마를 만드는 경우 functions.php 에 사용자 정의 코드를 추가하고 싶을 것입니다. 거의 모든 테마에는 고유한 기능 세트를 제공하는 functions.php 파일에 코드가 있습니다. 스타일시트 외에도 이러한 기능은 테마를 다른 테마와 다르게 만드는 데 큰 역할을 합니다.

테마에 한정되지 않고 테마와 독립적으로 사용할 수 있는 코드를 테마의 functions.php 파일에 추가하는 경우 대신 플러그인으로 만드는 것이 좋습니다. 이렇게 하면 여러 테마에서 해당 기능을 사용할 수 있으며 다른 WordPress 사용자에게 도움이 될 수 있는 WordPress.org 플러그인 라이브러리에 제출할 수도 있습니다.

플러그인을 생성하기 전에 생성 중인 플러그인이 이미 존재하지 않는지 플러그인 라이브러리를 확인하십시오. 품질 솔루션이 이미 존재하는 경우 사이트의 다른 사용자 지정 기능에 대한 개발 에너지를 절약할 수 있습니다.

자식 테마에서 functions.php 를 편집할 때

개발자의 테마를 사용 중이고 functions.php 파일을 수정하려면 항상 자식 테마를 사용하여 변경해야 합니다. 테마 개발자가 테마의 새 버전을 발행하고 최신 버전으로 업데이트하면 functions.php 를 포함한 새 파일이 현재 테마를 덮어씁니다.

하위 테마는 상위 테마 업데이트의 영향을 받지 않으므로 하위 테마의 functions.php 파일을 변경하면 모든 사용자 정의 코드가 유지됩니다.

코드를 추가하기 전에 플러그인을 사용하는 것이 더 나은 솔루션인지 고려하십시오. 추가하는 코드가 테마에 특정한가요? 자식 테마의 functions.php 파일을 수정하세요. 추가하는 코드가 나중에 테마를 변경하는 경우에도 계속 갖고 싶은 코드입니까(예: Google Analytics 추적 코드 또는 Facebook 픽셀)? 플러그인을 사용하세요.

WordPress에서 functions.php 를 편집하는 방법

functions.php 를 편집하는 동안 저지를 수 있는 실수로부터 사이트를 보호하기 위한 조치를 항상 취해야 합니다. 따라서 편집을 시작하기 전에 사이트를 백업하고 먼저 테스트할 준비 사이트를 만드는 것이 좋습니다. 이렇게 하면 주요 문제를 일으키거나 더 심하게는 사이트가 완전히 충돌하는 일부 코드를 실수로 functions.php 에 추가해도 라이브 사이트가 중단되지 않습니다.

사이트를 백업했으므로 이제 functions.php 파일을 편집할 수 있습니다.

WordPress 테마 파일 편집기에서 functions.php 를 편집하는 방법

WordPress 테마 파일 편집기에서 functions.php 를 편집하는 것은 약간 위험합니다. cPanel 또는 SFTP에 액세스할 수 없기 때문에 이 도구를 사용하는 경우 편집으로 인해 WordPress 대시보드에 액세스할 수 없는 치명적인 오류가 발생하면 매우 나쁜 상황에 처하게 됩니다.

테마 파일 편집기에서 functions.php 를 편집하려면 서버와 백업에 직접 액세스할 수 있어야 백업 파일을 빠르게 복원할 수 있습니다.

WordPress 관리자 패널의 모양 → 테마 파일 편집기 에서 WordPress 테마 파일 편집기를 찾을 수 있습니다.

테마 편집 화면으로 이동하여 하위 테마를 선택한 다음 화면 오른쪽의 테마 파일 열에서 functions.php 파일을 선택해야 합니다.

테마 파일 편집기에서 functions.php 파일 편집

대신 상위 테마를 선택한 경우 화면 하단에 " 주의: 이것은 현재 상위 테마의 파일입니다."라는 경고가 표시됩니다. 다음 번에 테마를 업데이트할 때 변경 사항을 덮어쓰므로 상위 테마의 functions.php 파일을 편집하고 싶지 않습니다.

파일에 이해할 수 없는 기능이 있는 경우 WordPress에는 파일 업데이트 버튼 바로 위에 편리한 문서 조회 기능이 포함되어 있습니다. 드롭다운을 클릭하고 자세히 알아보려는 함수 이름을 검색한 다음 조회 를 클릭합니다. 해당 기능에 대한 WordPress.org 문서로 이동합니다.

변경이 완료되면 파일 업데이트 를 클릭합니다. 사이트의 전면과 후면을 확인하여 모든 것이 여전히 의도한 대로 작동하는지 확인하세요. 치명적인 오류가 발생하여 백업에서 functions.php 를 복원해야 하는 경우 cPanel에서 또는 SFTP를 통해 복원할 수 있습니다.

텍스트 편집기로 functions.php 편집하기

functions.php 를 편집하는 가장 좋은 방법은 선택한 코드 편집 소프트웨어를 사용하는 것입니다. 로컬 컴퓨터에서 오프라인 복사본을 편집 중이므로 파일 작업을 위해 인터넷에 연결할 필요가 없습니다. 또한 라이브 사이트에 변경 사항을 커밋하는 시기를 더 잘 제어할 수 있습니다.

원할 때마다 코드를 편집하고 일반적으로 웹사이트의 트래픽이 가장 적은 시간에 변경 사항을 업로드할 수 있습니다. 그렇게 하면 문제가 있는 경우 가장 적은 수의 방문자가 영향을 받습니다.

1단계: 텍스트 편집기에서 functions.php 를 엽니다. 텍스트 편집기 사용에 익숙하지 않은 경우 선택할 수 있는 몇 가지 무료 옵션이 있습니다.

무료 소스 코드 및 일반 텍스트 편집기:

신청 체계
메모장++
아톰.io 윈도우, 맥, 리눅스
숭고한 윈도우, 맥, 리눅스
텍스트편집
*일반 텍스트 모드인지 확인
Mac(기본 애플리케이션)
메모장 Windows(기본 애플리케이션)

2단계: functions.php편집 하고 로컬 컴퓨터에 저장합니다. functions.php 파일을 편집하는 데 사용하는 프로그램에 따라 디스플레이가 다르게 보일 수 있습니다. 이것은 atom.io에서 PHP 코드가 보이는 것입니다:

atom.io에서 functions.php 편집

필요한 정보를 추가하거나 변경한 다음 파일을 저장하십시오.

3단계: SFTP 또는 cPanel을 통해 웹 서버에 로그인합니다. 테마 또는 하위 테마 폴더로 이동하여 functions.php 파일을 찾으십시오.

4단계: 웹 서버 에서 functions.php 의 파일 이름을 변경 합니다. 편집한 버전에 오류가 있는 경우 원래 functions.php 파일을 덮어쓰지 않으려고 합니다. 물론 백업을 했지만 백업에서 functions.php 파일을 가져오는 대신 원본 파일을 가지고 있을 수 있습니다.

문제가 발생하는 경우 functions.php 파일을 빠르게 복원할 수 있기를 원하므로 'functions-orginal.php' 와 같은 이름으로 이름을 변경하면 원본 파일의 내용이 서버에 보존됩니다.

functions.php 파일 이름 바꾸기

5단계: 로컬 컴퓨터에서 웹서버로 functions.php업로드 합니다. SFTP 또는 cPanel을 사용하여 functions.php 파일을 테마 또는 하위 테마의 기본 디렉토리에 업로드합니다.

6단계: 웹사이트를 방문하여 제대로 작동하는지 확인합니다. functions.php 파일을 업로드했으면 사이트에서 모든 것이 제대로 작동하는지 확인해야 합니다. 프런트 엔드를 방문하고 WordPress 대시보드에 로그인하여 모든 것이 액세스 가능하고 올바르게 표시되고 작동하는지 확인하십시오.

7단계: 이름이 변경된 이전 functions.php 파일을 삭제합니다. 사이트가 제대로 작동하는지 확인했으면 functions-original.php (또는 이름을 변경한 모든 것)를 삭제할 수 있습니다. 길을 가다가 문제를 발견하더라도 백업에서 생성한 functions.php 파일이 남아 있어야 합니다.

cPanel에서 직접 functions.php 편집

소스 코드 편집기가 없거나 사용하지 않으려면 cPanel에서 직접 functions.php 를 편집할 수 있습니다(호스트에서 cPanel을 사용하는 경우). WordPress 테마 파일 편집기에서 편집하는 것과 마찬가지로 로컬 컴퓨터에서 작업하는 것보다 조금 더 위험합니다. 편집하는 동안 인터넷 연결이 중단되면 변경 사항이 손실될 수 있습니다. 또한 잠재적으로 원래 functions.php 파일을 덮어쓸 위험이 있습니다.

1단계: cPanel에서 functions.php찾습니다 . cPanel에서 파일 관리자 를 클릭합니다.

루트 폴더(일반적으로 public_html 또는 www 이지만 다른 이름을 가질 수 있음)로 이동합니다.

2단계: functions.php 의 복사본을 만듭니다 . 파일 관리자 기본 메뉴에서 + 폴더 를 클릭하여 새 폴더를 추가합니다. 당신의 functions.php 파일을 복사해서 여기에 백업으로 저장하고 싶을 것입니다.

나중에 쉽게 찾을 수 있도록 새 폴더의 이름을 '백업 기능'과 같이 식별하기 쉬운 이름으로 지정합니다. 새 폴더 만들기 를 클릭합니다.

functions.php 파일의 cpanel 백업 만들기

3단계: 테마 또는 하위 테마 폴더에서 functions.php 를 찾아 백업 폴더에 복사합니다. 테마 또는 하위 테마 폴더에서 functions.php 로 스크롤하고 파일 이름을 마우스 오른쪽 버튼으로 클릭합니다. 복사 를 선택합니다.

cpanel에서 functions.php 파일 복사하기

파일을 복사할 경로를 입력하라는 대화 상자가 나타납니다. 현재 있는 폴더의 경로가 미리 채워지므로 백업 폴더의 파일 경로가 보이는 것과 다른 경우 올바른 경로를 입력하십시오. 파일 복사 를 클릭합니다.

4단계: 테마 또는 하위 테마 디렉토리의 functions.php다시 이동 합니다. 이제 백업이 있으므로 테마 또는 하위 테마 디렉토리의 functions.php 파일로 돌아가서 편집을 시작할 수 있습니다.

functions.php 를 마우스 오른쪽 버튼으로 클릭한 다음 편집 을 클릭합니다.

5단계: functions.php수정 합니다 . 이제 화면에 functions.php 파일의 내용이 표시되어야 합니다. 다음과 같이 표시되어야 합니다.

cpanel에 있는 functions.php 파일의 예

필요한 정보를 추가하거나 변경한 다음 파일을 저장하십시오.

플러그인을 사용하여 WordPress 사이트에 기능 추가

functions.php 파일을 직접 수정하는 대신 코드 조각과 같은 플러그인을 사용하여 웹사이트에 기능을 추가할 수 있습니다. 사이트에 많은 기능을 추가해야 하는 경우 여전히 필요한 기능과 필요하지 않은 기능을 놓치기 쉽습니다.

코드 조각은 PHP 코드 블록을 관리하기 위한 그래픽 사용자 인터페이스(GUI)를 제공합니다. 설명을 추가하여 코드가 수행해야 하는 작업을 알 수 있고 플러그인 활성화 및 비활성화와 마찬가지로 코드 블록을 켜고 끌 수 있습니다.

functions.php 를 변경하지 않기 때문에 WordPress 사이트에 PHP 기능을 추가하는 훨씬 안전한 방법입니다.

보안 악용으로부터 functions.php 를 보호하는 방법

functions.php 파일은 종종 해커의 표적이 되므로 안전하게 유지하는 것이 최우선 과제입니다. functions.php 파일을 보호하려면 다음 단계를 따르세요.

1. 보안 플러그인 설치

보안 플러그인을 사용하면 사이트의 여러 영역에서 해커로부터 고급 보호 기능을 즐길 수 있습니다.

Jetpack Security는 악의적인 공격으로부터 사이트를 안전하게 보호하는 저렴한 옵션입니다. 여기에는 멀웨어 검사 및 원클릭 수정, 무차별 대입 공격 방지, 가동 중지 시간 모니터링, 사이트가 해킹되었는지 여부와 시기를 알 수 있는 활동 로그, 이중 인증(2FA)을 통한 로그인 보호가 포함됩니다.

Jetpack 홈페이지 메시지

Jetpack Security는 또한 핵심 WordPress 파일, 오래되거나 안전하지 않은 플러그인 및 기타 취약점에 대한 변경 사항이 있는지 사이트를 모니터링하여 해커가 찾아서 이용하기 전에 이를 포착할 수 있습니다.

또한 실시간 WordPress 백업을 제공하므로 사이트에 로그인할 수 없는 경우에도 문제가 발생하면 깨끗한 버전으로 빠르게 복원할 수 있습니다.

2. 를 통해 WordPress 핵심 functions.php 에 대한 액세스를 거부합니다. htaccess 파일

웹 사이트가 Apache 서버에서 호스팅되는 경우 . htaccess 파일을 사용하여 전체 wp-includes 폴더에 대한 액세스를 차단하여 WordPress 핵심 functions.php 파일을 보호할 수 있습니다.

1단계: .htaccess 다운로드

SFTP 또는 cPanel을 사용하여 웹사이트의 루트 폴더로 이동합니다. 를 마우스 오른쪽 버튼으로 클릭합니다. htaccess 를 클릭하고 다운로드 를 선택하여 파일을 로컬 컴퓨터에 다운로드합니다.

2단계: wp-includes 폴더에 대한 액세스를 차단하는 코드 추가

소스 코드 또는 일반 텍스트 편집기에서 . htaccess 에 다음 코드를 추가합니다.

 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>

파일을 저장합니다. 편집기 프로그램에 파일 확장자가 포함되어 있지 않은지 확인하십시오. 메모장++ 또는 텍스트 편집을 사용하는 경우 .txt 파일 확장자가 추가될 수 있습니다. 파일 이름은 '.htaccess'로 지정하면 됩니다.

3단계: 편집된 . 루트 폴더로 htaccess

편집한 . htaccess 파일을 웹사이트의 루트 폴더로 되돌립니다. 기존 파일을 덮어쓸지 묻는 메시지가 표시됩니다. 확인 을 클릭합니다.

이제 당신의 . htaccess 파일은 functions.php 를 포함하여 wp-includes 폴더의 모든 파일에 대한 외부 액세스를 차단해야 합니다.

3. functions.php 를 사용하여 functions.php 에 대한 액세스 거부

다음 코드 조각을 functions.php 에 직접 추가하여 functions.php 파일에 대한 직접 액세스를 차단할 수 있습니다.

 if (!empty($_SERVER['SCRIPT_FILENAME']) && 'functions.php' == basename($_SERVER['SCRIPT_FILENAME'])) { die ('Access denied!'); }

4. 루트 디렉토리 외부에 functions.php 숨기기

해커는 모든 표준 WordPress 파일의 기본 위치를 알고 있습니다. 민감한 파일의 위치를 ​​루트 디렉토리 외부의 제한된 액세스 폴더로 변경하면 해커의 손이 닿지 않는 곳에 보관할 수 있습니다. 이 프로세스는 .htaccess 파일에 일부 코드를 추가하는 것보다 약간 더 복잡하지만 웹 사이트에 대한 추가 보호 계층을 위해 추가 노력을 기울일 가치가 있습니다.

몇 단계만 거치면 루트 폴더 외부에서 functions.php 를 보호할 수 있습니다.

1단계: 현재 functions.php 파일 다운로드

테마의 functions.php 파일을 이동하는 경우 wp-content → theme → yourtheme 아래에서 찾을 수 있습니다. 자식 테마의 파일은 wp-content → theme → yourtheme-child 에 있습니다.

functions.php 파일을 찾으면 SFTP 또는 cPanel을 통해 컴퓨터에 다운로드하십시오.

2단계: 루트 폴더 외부에 새 디렉토리 생성

루트 디렉터리 외부에서 다음 파일 폴더 수준으로 이동합니다. 루트 폴더와 다른 여러 폴더의 이름이 표시되어야 합니다. 이 디렉터리에서 마우스 오른쪽 버튼을 클릭하고 디렉터리 만들기 를 선택합니다.

Filezilla에서 디렉토리 생성

functions.php 파일의 위치로 기억하기 쉬운 이름을 디렉토리에 지정하십시오.

3단계: 새 폴더에 functions.php 업로드

이전에 다운로드한 functions.php 파일을 SFTP 또는 cPanel을 통해 새 폴더에 업로드합니다.

functions.php 파일 업로드

새 폴더와 functions.php 파일 권한을 확인하고 600으로 설정되어 있는지 확인하십시오.

functions.php 파일에 대한 권한 설정

4단계: WordPress에 새 functions.php 파일 지정

새 디렉토리에 functions.php 파일과 테마 폴더에 있는 원래 functions.php 파일이 있어야 합니다. WordPress에서 올바른 파일을 찾아 사용하려면 테마 파일의 functions.php 파일과 다음 코드 조각에서 모든 정보를 삭제해야 합니다.

 <?php include('/home3/usr/securefunctions/functions.php'); ?>

참고: 서버의 디렉토리 이름을 사용하기 때문에 파일 경로가 다르게 보일 것입니다.

cPanel에서 루트 디렉토리의 functions.php 파일을 열고 직접 편집하거나 소스 코드 편집기를 사용하여 이전에 로컬 시스템에 다운로드한 사본을 편집할 수 있습니다. 이 예에서는 Atom.io를 사용하여 이전에 다운로드한 사본을 편집했습니다.

funtions.php 파일을 저장하고 테마 디렉토리에 다시 업로드하십시오.

ftp를 통해 functions.php 파일 반환

파일을 덮어쓸지 묻는 메시지가 표시됩니다. 확인 을 클릭합니다.

이제 WordPress는 루트 폴더 외부의 안전한 위치에 있는 새 functions.php 파일을 참조해야 합니다.

4. functions.php 파일 이름 변경

functions.php 파일의 이름을 변경하는 것은 해커로부터 안전하게 보호하기 위해 취할 수 있는 또 다른 단계입니다. 이 파일을 루트 폴더 외부에 호스팅해야 하므로 루트 디렉토리 외부에 functions.php 숨기기 의 프로세스를 따랐다면 몇 가지 추가 단계만 수행하면 됩니다.

1단계: 루트 폴더 외부의 보안 디렉터리에서 functions.php 의 파일 이름을 변경합니다.

루트 디렉토리 외부에 호스팅된 functions.php 폴더로 이동하여 파일 이름을 'keep-out.php' 또는 'these-are-not-the-functions-you-are-looking-for'와 같이 고유한 이름으로 변경합니다. PHP' . 좋습니다. 마지막 것은 조금 길지만, functions.php 의 테마 폴더 사본에 있는 파일 경로에 포함하기만 하면 무엇이라고 부르는지는 별로 중요하지 않습니다.

2단계: 루트 디렉토리에 있는 functions.php 의 코드를 수정하여 이름 변경 사항을 반영합니다.

이제 functions.php가 아닌 다른 이름으로 이름을 변경했으므로 functions.php 테마 디렉토리 사본이 올바른 파일 이름을 가리키고 있는지 확인해야 합니다.

functions.php 의 루트 폴더 사본을 로컬 컴퓨터에 다운로드하고 텍스트 편집기로 편집하십시오. functions.php 파일 이름을 새 파일 이름으로 변경한 다음 파일을 저장합니다.

 <?php include('/home3/usr/secureconfig/keep-out.php'); ?>

3단계: functions.ph p를 테마 디렉토리에 다시 업로드

기존 파일을 덮어쓸지 묻는 메시지가 표시됩니다. 확인 을 클릭합니다.

이제 WordPress는 이름이 변경된 함수 파일을 가리켜야 합니다.

functions.php 에 대한 추가 보안 계층

wp-config 파일에 이름 바꾸기, 루트 디렉터리 외부에서 호스팅, 공개 액세스 거부와 같은 유사한 변경을 수행하여 functions.php 파일을 포함하여 웹 사이트 전체에 몇 가지 추가 보호 기능을 추가할 수 있습니다.

functions.php 파일에서 의심스러운 코드를 보고 이미 해킹을 당했을지 모른다고 걱정된다면 WordPress 웹사이트에서 멀웨어를 감지하고 제거하는 방법을 읽어보세요.

WordPress의 functions.php 에 어떤 코드를 추가할 수 있습니까?

WordPress functions.php 파일에 추가할 수 있는 다양한 코드 조각이 있습니다. 그러나 많은 기능에 플러그인을 사용(또는 자체 플러그인 작성)하는 것이 더 나은 경우가 많습니다. 추가하려는 코드가 테마와 관련된 경우 해당 PHP 코드를 하위 테마의 functions.php 파일에 추가할 수 있습니다.

다음은 자식 테마의 functions.php 파일에 삽입할 수 있는 몇 가지 유용한 기능입니다.

functions.php 에 새로운 관리자 추가하기

WordPress 대시보드에 대한 관리자 액세스 권한을 상실하고 이메일을 통해 사용자 이름이나 비밀번호를 복구할 수 없는 경우 호스팅 계정을 통해 새 관리자 사용자를 만들 수 있습니다. SFTP 또는 cPanel을 통해 functions.php 파일을 다운로드하고 다음 코드를 추가하여 사이트의 새 관리자 사용자를 생성할 수 있습니다.

 function qode_add_new_admin_account() { $user = 'your-username'; $password = 'your-password'; $email = 'your-email'; if ( ! username_exists( $user ) && ! email_exists( $email ) ) { $user_id = wp_create_user( $user, $password, $email ); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); } } add_action( 'init', 'qode_add_new_admin_account' );

위의 코드에서 'your-username', 'your-password' 및 'your-email'을 자신의 자격 증명으로 바꿉니다. functions.php 파일을 저장하고 테마 폴더에 다시 업로드하세요. 이렇게 하면 코드에서 할당한 사용자 이름, 비밀번호 및 이메일 주소를 사용하여 새 관리자 사용자가 생성됩니다.

파일을 업로드한 후 사이트의 로그인 페이지로 이동하여 새 사용자 이름과 비밀번호를 사용하여 로그인하십시오. 로그인에 성공하고 관리자 권한이 있음을 확인한 후에는 추가한 코드를 제거해야 합니다. functions.php 에서 새 관리자 계정을 만듭니다.

functions.php 에서 이미지 크기 추가 및 제거

이미지를 WordPress 미디어 라이브러리에 업로드하면 이미지의 여러 변형이 생성됩니다. WordPress에는 전체 크기 이미지 외에 사용되는 기본 축소판, 작은, 중간 및 큰 크기가 있습니다. 테마는 일반적으로 사이트의 개별 부분에 대한 최적의 이미지 크기를 가져옵니다.

자신만의 테마를 만들거나 추가 사용자 정의 이미지 크기를 수용하기 위해 하위 테마를 수정해야 하는 경우 functions.php 파일에서 수정할 수 있습니다.

다음 코드를 사용하여 사용자 정의 이미지 크기 이름을 'custom-small-square' 및 'custom-landscape'에서 사용하려는 이름으로 변경합니다. 사용자 정의 이미지 크기 이름 옆에 있는 숫자는 이미지 크기를 픽셀 단위로 나타내므로 너비가 먼저이고 높이가 두 번째로 픽셀 값을 입력합니다.

 function register_custom_image_sizes() { if ( ! current_theme_supports( 'post-thumbnails' ) ) { add_theme_support( 'post-thumbnails' ); } add_image_size( 'custom-small-square', 450, 450, true ); add_image_size( 'custom-landscape', 1000, 600 ); } add_action( 'after_setup_theme', 'register_custom_image_sizes' );

추가 사용자 정의 이미지 크기는 사이트에 부담을 주고 로드 시간에 영향을 줄 수 있습니다. If you have some WordPress default image sizes that your theme doesn't use, you may want to delete and disable those to make room for your custom sizes.

If you want to disable WordPress default image sizes, you can place this code snippet into your functions.php file:

 add_filter( 'intermediate_image_sizes_advanced', 'prefix_remove_default_images' ); // This will remove the small, medium, and large default image sizes. function prefix_remove_default_images( $sizes ) { unset( $sizes['small']); // 150px unset( $sizes['medium']); // 300px unset( $sizes['large']); // 1024px return $sizes; }

If you only need to disable one or two sizes, you can only add those sizes to the code above and delete the code that you don't need.

Use functions.php to allow additional file types in uploads

WordPress only allows a few different file types to be uploaded in your WordPress dashboard. This is a reasonable security measure, but you might encounter a situation where you need to upload a file type that's not natively allowed.

To add more allowed file types to WordPress, add the following code to your child theme's functions.php :

 function additional_upload_file_types($mime_types){ $mime_types['stl''] = 'application/sla'; $mime_types['stl'] = 'application/vnd.ms-pki.stl'; $mime_types['stl'] = 'application/x-navistyle'; return $mime_types; } add_filter('upload_mimes', 'additional_upload_file_types', 1, 1);

For the above example, we used the stl file type, which is a CAD file type. It's an unusual file type to upload to a website outside of certain niche industries, but if your site is for an industrial designer, engineering firm, or even an orthodontics lab, you might find the ability to upload STL files really useful.

You can replace the $mime_type variable with whatever file extension suits the needs of your website. You'll also need to include the media type and subtype after that (eg 'application/sla' or 'image/octet-stream'). Here's a complete list of mime types that you can refer to.

Frequently asked questions about editing the functions.php file in WordPress

We've covered what the functions.php file is, how to find functions.php , how to access it, how to edit it, and a few code snippets you can add to your functions.php file. We'll wrap things up with a few helpful answers to frequently asked questions.

Do I really need to use a child theme to edit functions.php ?

짧은 대답은? 예.

If you're a theme developer, you'll definitely want to add your theme-specific functions directly to your theme's functions.php file. If you're modifying a theme from another developer that will get regular updates, however, you'll absolutely want to use functions.php within a child theme.

Most theme developers will periodically make updates to their themes for security and performance reasons, or to add new features. If you change the parent theme's functions.php file, those changes will all be overwritten when you update to your theme's latest version. All your hard work and customizations — poof! 다 쓴.

Child themes aren't touched when the parent theme updates, so if you make changes to your child theme's functions.php file, your changes will be preserved any time you update your parent theme.

I edited functions.php and now I don't have access to my WordPress dashboard. 돕다!

In the unfortunate event that you edited the functions.php file and caused a critical error on your site that kept you from accessing the WordPress dashboard, don't worry — all is not lost!

There are a few things you can do to restore access to your site. You can edit functions.php via SFTP and a text editor or directly in cPanel if you know which bit of code caused the issue. Alternatively, you can restore functions.php from a backup or download a fresh copy of functions.php from your theme developer.

I know what code I messed up. I just need to access and edit functions.php to fix it.

See How to edit functions.php above for instructions on how to access and edit your theme or child theme's functions.php file.

I have no clue what I did to my functions.php file, but I have a backup.

If you have a backup on hand, you can access your files either on your web host's server or your remote server (depending on where you have opted to store these files), and use them to replace your corrupt functions.php file via SFTP or cPanel.

If you feel more comfortable restoring your entire site backup rather than trying to restore just the functions.php file, our article, “How to Restore WordPress from a Backup” goes in depth on the different methods you can use to restore your WordPress site.

I have no idea what code caused the problem and I didn't make a backup.

If you don't have a backup, you can download a fresh copy of the theme you're using from your theme developer, extract the functions.php file, and overwrite the broken functions.php file on your server via SFTP or cPanel.

Note: If you're using a theme that hasn't been updated in awhile, you may encounter issues in overwriting functions.php with a version that's from a much more recent update. If you encounter issues, you might be better off just manually updating your entire theme to the latest version. Alternatively, you can contact your theme developer to get the theme files for your current version and use that version of functions.php .

Can I add JavaScript to my functions.php file?

Yes, you can add code to your functions.php file that will add your custom JavaScript to either specific pages, posts, or all pages and posts on your site. This article covers all the different ways you can add JavaScript to your functions.php file.