WordPress Functions.php 파일 설명: 필수 가이드
게시 됨: 2020-11-18워드프레스 functions.php 파일은 워드프레스에서 가장 중요한 운영 파일 중 하나입니다. 모든 WordPress 웹 사이트에는 최소한 두 개의 functions.php 파일이 있습니다. 하나는 WordPress 코어의 함수 파일이고 다른 하나는 WordPress 테마의 추가 함수 파일입니다. 또한 하위 테마에는 functions.php 파일도 있습니다.
이 가이드에서는 functions.php 파일이 무엇인지, WordPress functions.php 파일이 있는 위치, 편집 방법 등을 다룹니다. 또한 WordPress 기능에 대한 입문서를 제공합니다. 뛰어들어봅시다.
이 기사를 읽고 있다면 기본 WordPress 설치가 완료되어 실행 중이거나 이미 WordPress 웹 사이트가 있을 가능성이 있습니다. 모든 것이 잘 작동하는 것 같으며 버튼을 클릭하면 될 것 같은 일을 하고 싶을 것입니다. 그런 다음 온라인에서 튜토리얼을 찾았고 WordPress functions 파일 또는 functions.php 파일을 직접 편집해야 한다는 것이 밝혀졌습니다.
또는 첫 번째 WordPress 테마를 구축 중이고 함수 파일을 편집하는 방법과 WordPress 테마 개발을 위한 모범 사례에 대한 질문이 있을 수 있습니다. 이 기사의 끝에서 WordPress functions.php 파일의 작동 방식과 가장 잘 활용하는 방법을 더 잘 이해할 수 있을 것입니다.
WordPress의 Functions.php 파일은 무엇입니까?
워드프레스 functions.php 파일은 워드프레스 웹사이트를 기능적으로 만드는 중요한 PHP 기능을 담고 있는 강력한 운영 파일입니다.WordPress 내에서 함수 파일의 기본 위치는 두 곳입니다.
- WordPress 코어 파일과 함께 패키지로 제공되는 웹사이트의 기본 디렉토리에 있는 functions.php 파일
- WordPress 테마 및/또는 WordPress 하위 테마에 있는 functions.php 파일 . 설치한 각 WordPress 테마에는 WordPress 설치 내의 루트에 functions.php라는 자체 파일이 있습니다.
WordPress 플러그인이 작동하는 방식과 매우 유사하게 functions.php 파일은 사용자가 페이지에서 실행할 사용자 정의 PHP 코드를 입력할 수 있도록 하기 위해 존재합니다. 이것은 서버 측 계산과 같은 기본 추가 기능부터 사용자가 활용할 수 있도록 PHP로 작성된 전체 프로그램과 같은 보다 복잡한 항목에 이르기까지 셀 수 없이 많은 용도로 사용할 수 있습니다.

다양한 테마로 실험하는 것을 즐기는 사람이라면 만든 functions.php 변경 사항을 수동으로 마이그레이션해야 함을 명심하십시오. 또한 일부 테마는 적극적으로 유지 관리하지 않으면 최신 버전의 PHP를 지원하지 않아 이전 기능 중 일부를 쓸모 없게 만들 수 있습니다.
그렇기 때문에 테마를 변경하기로 결정한 후에도 공식적으로 QA를 수행하거나 단순히 사이트의 모든 것을 테스트하는 것이 중요합니다. 테마 전환이 성공했다는 WordPress의 메시지를 모든 기능이 이전되었다는 의미로 받아들이지 마십시오. 이것은 수동으로 확인해야 합니다.
WordPress 함수 파일은 어디에 있습니까?
모든 테마에는 고유한 functions.php 파일이 있으며, 이는 얼마나 자주 테마와 사이트 기능을 전환하는지에 따라 축복이 될 수도 있고 저주가 될 수도 있습니다.
그러나 아직 논의하지 않은 두 번째 "중요한" 기능 파일도 있습니다! 이러한 각 파일의 위치와 두 파일 간의 차이점이 정확히 무엇인지 살펴보겠습니다.
WordPress Core Functions.php 파일
이름에서 알 수 있듯이 WordPress 핵심 funtions.php 파일은 "head honcho" 기능 파일입니다. 이 함수 파일은 WordPress 웹사이트의 기본 코드를 제공하는 WordPress 핵심 소프트웨어와 함께 제공됩니다.
WordPress 웹사이트의 루트 디렉토리 내에서 wp-includes
폴더 또는 디렉토리에 있는 이 함수 파일을 찾을 수 있습니다. wp-includes
폴더 안에 들어가면 functions.php
라는 파일이 functions.php
. 이 파일의 내용을 검사 하지만 변경하지는 마십시오. 나중에 구조가 테마의 함수 파일의 구조와 약간 다르다는 것을 알 수 있습니다.

왜요? WordPress 코어 파일을 절대 편집하지 말아야 할 몇 가지 이유가 있습니다.
- WordPress의 새 버전이 출시될 때마다 업데이트는 WordPress 코어 파일에 대한 사용자 지정 또는 변경 사항을 덮어씁니다. 최신 버전의 WordPress를 실행하는 것은 보안상의 이유로 항상 좋은 생각이므로 최신 버전의 WordPress를 실행하지 못하도록 파일 사용자 지정을 원하지 않습니다.
- 잘못된 위치에 하나의 공백이나 추가 세미콜론이 있으면 WordPress 웹 사이트가 완전히 손상될 수 있습니다. 고급 WordPress 개발에 대한 완전한 이해가 없는 한 WordPress 코어 파일은 변경되지 않은 상태로 유지되어야 합니다.
내 WordPress 테마 내에서 함수 파일은 어디에 있습니까?
이제 테마별 functions.php
파일을 살펴보겠습니다. 핵심 functions.php
파일과 달리 이 파일은 개발자/웹마스터가 편집해야 합니다. 이러한 파일은 일반적으로 오류가 사이트를 손상시키지 않고 핵심 수준 파일의 오류보다 디버그하기가 훨씬 쉬운 방식으로 구조화되고 액세스됩니다.
이를 위해서는 WordPress 테마가 포함된 wp-content
폴더에 액세스해야 합니다. 기능 추가에 가장 관심이 있는 테마의 기본 폴더를 선택합니다.

테마의 루트 폴더 내에서 functions.php
파일을 볼 functions.php
있습니다. 이 파일을 열되 아직 내용을 완전히 변경하지는 마십시오. 이 파일을 살펴보고 핵심 기능 파일보다 내용이 적습니다.
WordPress Functions.php 파일 예
적절한 WordPress functions.php 파일의 모양에 대한 최상의 아이디어를 제공하기 위해 이 "최소한의" 템플릿을 제공합니다. 기본적으로 여기에는 WordPress가 작동하는 데 필요한 최소한의 코드가 있습니다. 그러나 기능이 아직 채워지지 않았기 때문에 너무 많이 수행되는 것을 볼 수 없습니다!
워드프레스 함수 파일에는 "필수" 함수가 있습니다. 이는 이 기사의 뒷부분에서 논의될 것입니다. 더 이상 인사하지 않고 여기에 우리의 작은 functions.php
파일(테마 기반)이 있습니다. 이것은 명확성을 위해 일부 보조 항목이 제거된 공식 WordPress 테마 기능 예제에서 조정되었습니다.
if ( ! isset( $content_width ) )
$content_width = 1000; /* 이에 대한 기본 값 유형은 픽셀 단위입니다. */
if ( ! function_exists( 'myfirsttheme_setup' ) ) :
/**
* 이 기능은 나중에 파일에 있는 모든 것을 이 파일에 등록하는 데 필요합니다.
* 테마의 functions.php.
*/
함수 myfirsttheme_setup() {
/**
* 테마/사이트 전체에 이미지 지원 추가
*/
add_theme_support( '포스트 썸네일' );
/**
* 모든 핵심 WP 항목에 대한 지원 활성화
*/
add_theme_support( '포스트 형식', 배열( '제외', '갤러리', '인용', '이미지', '동영상' ) );
}
엔디프;
add_action( 'after_setup_theme', 'myfirsttheme_setup' );
그리고 당신은 그것을 가지고 있습니다! 대부분의 테마는 실제로 더 많은 코드를 추가할 수 있는 더 많은 기능 파일과 함께 제공됩니다. 이 파일 내에서 개발할 때는 항상 WordPress 개발자 매뉴얼을 참조하는 것이 좋습니다.
WordPress Functions.php 파일 보안
프로덕션 서버에서 이러한 파일을 수정하기 전에 iThemes Security Pro와 같은 적절한 WordPress 보안 플러그인을 사용하여 데이터가 안전한지 확인하십시오.
iThemes Security Pro와 같은 플러그인은 웹사이트에 파일 변경 감지 기능을 추가할 수 있습니다. iThemes Security Pro의 파일 변경 감지 기능은 웹사이트의 파일을 스캔하고 다음을 포함하여 웹사이트에 변경 사항이 발생하면 알려줍니다.
- 파일 추가 – 스파이웨어 형태의 맬웨어는 고객이 신용 카드 정보를 입력할 때 키 입력을 기록하는 악성 파일을 추가할 수 있습니다.
- 파일 제거 – 일부 맬웨어는 합법적인 파일을 제거하고 동일한 이름의 악성 파일로 대체합니다.
- 파일 수정 – 맬웨어는 수정 하는 기존 파일에 악성 코드를 숨겨 악성 코드를 숨기려고 합니다.
WordPress에서 Functions.php 파일에 어떻게 가나요?
함수 파일에 액세스하려면 이 프로세스를 수행하기 위해 몇 가지 기본 정보가 필요합니다.
- 귀하의 sFTP 자격 증명(당신의 호스트만이 이를 제공할 수 있으며 초기 이메일로 보낼 가능성이 높음)
- 선택한 sFTP 클라이언트
- 액세스하려는 파일의 위치
sFTP 클라이언트에 액세스할 수 있고 자격 증명을 사용하여 서버에 로그인하면 WordPress 사이트의 파일을 탐색하고 보고 편집할 수 있습니다(적절한 사용자 권한이 있는 경우).
"핵심" 및 테마 기반 기능 파일 모두에 대한 위의 논의를 참조하십시오.
WordPress 테마 기능 설명
이제 WordPress 테마 기능으로 수행할 수 있는 작업을 맛보았으므로 이러한 기능 중 일부가 작동하는 방식에 관심이 있을 것입니다.
사용할 수 있는 기능의 전체 최신 목록을 보려면 공식 WordPress 개발 가이드에 액세스해야 하지만 여기에 유용한 테마 기능과 각 기능의 편리한 목록이 있습니다.
themename_setup()
– 이 함수에서 "themename"을 테마 이름으로 바꾸기만 하면 됩니다. 여기에는 테마를 설정하는 코드가 포함되어 있습니다.

register_nav_menus()
– 이 함수에서는 사용자 정의된 탐색 메뉴를 설정하기만 하면 됩니다. 거의 모든 실제(이론적이 아닌) 테마가 이를 활용합니다. 그렇지 않으면 모든 WordPress 사이트의 메뉴가 정확히 동일하게 보일 것입니다!
load_theme_textdomain()
– 현지화를 허용하는 함수입니다. 전국적으로 또는 전 세계적으로 광범위한 도달 범위를 가진 WordPress 사이트의 로컬 SEO를 위한 만병 통치약은 지역 및 지역에 대한 언어 및 SEO 최적화를 허용합니다.
add_theme_support()
– 아마도 가장 간단한 기능일 것입니다. 이 기능은 다양한 유형의 미디어를 지원하는 모듈을 로드하도록 테마에 지시합니다. 이것들은 모두 내장되어 있으므로 전혀 번거롭지 않습니다. RSS 피드에서 비디오 지원에 이르기까지 많은 다른 것들이 이 기능을 사용하여 가져옵니다.
그리고 거기에 주요 WordPress 테마 기능이 있습니다! 그러나 워드프레스에서 활용할 수 있는 기능에 대한 검토는 아직 끝나지 않았습니다. 다음으로, 앞에서 논의한 것처럼 WordPress의 핵심 에서 제공되는 활용할 수 있는 주요 WordPress 기능을 살펴보겠습니다.
주요 WordPress 기능의 상위 5개 목록
계속해서 최소한 알고 있어야 하는 몇 가지 주요 WordPress 핵심 기능이 있습니다. 그러나 대부분의 워드프레스 개발자라도 각 기능의 매개변수가 복잡하기 때문에 각 워드프레스 테마 핸드북을 사용하기 전에 공식 워드프레스 테마 핸드북을 다시 참조해야 합니다.
시작하기 전에 여기 WordPress 코드 참조에서 사용할 수 있는 모든 공개 기능을 자유롭게 살펴보세요.
-
activate_plugins()
– 이 함수는activate_plugin()
함수를 피기백합니다. 이름에서 알 수 있듯이 설치된 플러그인을 활성화하는 바로 가기입니다. -
add_menu_page()
– 이 함수를 사용하면 테마나 사이트의 기본 메뉴에 페이지를 매우 쉽고 간단하게 추가할 수 있습니다. 많은 초보 사용자가 원시 HTML과 CSS를 사용하여 이 작업을 시도합니다. 불행히도 그러한 접근 방식은 전체 주제를 망칠 수 있습니다. 스스로 "해킹"하려고 하는 것보다 목적을 위해 만들어진 이와 같은 기능을 활용하는 것이 항상 가장 좋습니다. -
bloginfo()
– PHP 개발자는 이것이 "phpinfo()"라는 PHP 자체의 필수 기능과 매우 유사하다는 것을 알 수 있습니다. 이는 해당 기능을 모방하여 WordPress 버전, 서버 유형 등에 대한 개발용 페이지에 인쇄된 중요한 정보를 제공하기 위한 것입니다. 특정 정보를 빠르게 파악해야 하는 경우에 유용합니다. -
current_user_can()
– 이 함수는 "부울"입니다. 즉, "참" 값 또는 "거짓" 값을 반환합니다. 이것은 디버깅에 탁월하며 특정 기능을 활용할 수 있는지 여부를 확인하기 위해 호출할 수 있습니다. 해당 기능을 매개변수로 사용하여 특정 기능에 액세스할 수 있는 WordPress 권한이 있는지 확인할 수 있습니다. 그렇지 않은 경우 계속하기 전에 이를 파악하고 개발 프로세스의 속도를 높일 수 있습니다. -
delete_plugins()
– 이 함수는 이름에서 알 수 있듯이 말 그대로 플러그인의 등록된 이름을 입력하고 이 함수를 실행하면 플러그인과 해당 디렉토리가 삭제됩니다. 이 작업은 영구적이며 되돌릴 수 없습니다. 이 기능을 계속 실행하기 전에 이름이 올바른지, 사이트를 백업했는지 등을 확인하십시오.
필수 WordPress 테마 기능
약속한 대로 "필수" WordPress 테마 기능을 살펴보기 위해 다시 돌아갑니다. 이것은 모든 WordPress 테마가 제대로 작동하기 위해 있어야 하는 기능입니다. 대부분의 프로그래밍 형식과 마찬가지로 이러한 기능을 공백으로 하여 파일을 생성할 수 있으며 이는 여전히 유효한 것으로 간주됩니다.
이것은 많은 블로그에서 프로세스를 실제보다 훨씬 빠르게 만들고 "WordPress의 기본"이라고 하는 내용을 더 빨리 이해할 수 있도록 하기 위해 사용하는 전술입니다. 그러나 이러한 필수 또는 "필수" 기능을 건너뛰는 것은 귀하나 귀하의 사이트에 아무런 도움이 되지 않는다는 점을 기억하십시오. 이러한 기능에 의존하는 일부 기능이 의도한 대로 작동 하지 않는지 확인 하기만 하면 됩니다. 모든 것을 간신히 유지하기 위해 계속 돌아가서 무언가를 편집해야 하는 것보다 처음에 사이트를 올바르게 만드는 것이 항상 가장 좋습니다!
WordPress 테마 기능 초기 설정 예제 파일을 보면 테마에 "필수"인 모든 기능이 있습니다.
Functions.php 파일 편집
이제 WordPress 함수 파일의 기본 사항을 살펴보았으므로 이 파일을 편집하는 방법을 살펴보겠습니다. 다양한 "모범 사례"가 있지만 가장 좋은 방법은 매우 간단합니다.
먼저 이전에 동일한 SFTP 자격 증명을 사용하여 동일한 SFTP 클라이언트를 거쳐야 합니다. 다음으로 PHP 파일 자체를 찾아 로컬 드라이브에 다운로드해야 합니다 . 로컬 컴퓨터에서 편집기(예: 오픈 소스 Notepad++)를 사용하여 먼저 로컬에서 편집합니다.
이상적으로는 이 파일을 테스트할 수 있는 무언가가 로컬에 설치되어 있어야 합니다. 그러나 그렇지 않은 경우 수정 사항이 예상대로 진행되지 않을 경우를 대비하여 원본 파일을 백업하고 복원할 준비가 되었는지 확인하십시오. 그런 다음 서버에서 해당 파일을 교체하고 실행되는 것을 지켜보십시오!
노련한 WordPress 개발자가 되기 위한 길을 잘 가고 있는 사람으로서 WordPress 팀 자체에서 권장하는 대로 명심해야 할 모범 사례가 있습니다. 본질적으로 중요한 기능을 추가하고 재사용하고 싶다면(프로그래머를 위한 객체 지향 언어의 "객체"와 유사), 이 PHP로 전체 플러그인을 만드는 것이 더 좋습니다. 각 사이트에서 쉽게 설치 및 제거할 수 있습니다. 이것이 더 복잡하게 들리지만 실제로는 수년에 걸쳐 시간을 절약할 수 있습니다.
Functions.php에 코드를 어떻게 추가합니까?
단순히 이 파일을 수정하는 것이라면 위의 답변을 살펴보세요. 그러나 많은 사용자가 실제로 파일에 자신의 추가 기능 을 추가하는 데 관심이 있기 때문에 이 질문을 합니다.
다시 한 번, 테마 파일을 끝없이 편집하는 대신 이와 같은 기능을 플러그인으로 롤링하는 것이 "모범 사례"로 간주됩니다. 그럼에도 불구하고 우리는 다음 하위 섹션에서 사용자 정의 기능을 추가하는 방법을 살펴볼 것입니다!
WordPress에 내 사용자 정의 기능을 어떻게 삽입합니까?
이제 마침내 WordPress에 자신의 기능을 삽입할 때가 왔습니다! 이것은 모든 개발자에게 중요한 이정표이므로 약간의 축하가 필요할 수 있습니다. 먼저 이 작업을 수행하는 방법에 대해 자세히 알아보겠습니다.
나중에 릴리스하는 플러그인에 사용자 정의 코드를 추가하는 것이 항상 가장 좋지만, 재난을 원하지 않는 한 최소한 라이브 사이트에서 기능을 편집하지 마십시오 ! 테마의 functions.php 파일을 편집하기 전에 항상 사이트를 완전히 백업하십시오.
- 1. 무료 플러그인을 활용하여 이 튜토리얼에서 사용할 "My Custom Functions"와 같은 기능을 추가하십시오.
2. 플러그인을 설치한 후 "외관"으로 이동한 다음 "사용자 정의 기능"으로 이동하여 이 새 플러그인을 통해 기존 사용자 정의 기능을 볼 수 있습니다.
3. 여기에 아주 간단한 PHP 함수를 추가할 수 있습니다. 예를 들어 텍스트 입력 상자의 맨 아래로 스크롤하면 "Hello, world!"가 출력되도록 만들 수 있습니다. 다음 텍스트와 함께:
함수 hello_world() { echo "안녕하세요, 세계!"; }
4. 이것은 단순히 표준 PHP입니다. 구문을 근본적으로 변경하는 "WordPress 프레임워크" 또는 이와 유사한 것은 없으며 이는 기존 PHP 개발자에게 희소식입니다.
5. 마지막으로 간단한 팁! 테마와 사이트의 기능을 업데이트하는 동안 wp-config.php
있습니다. 이것은 테마의 루트에 있으며 SFTP 클라이언트를 통해 즐겨 사용하는 텍스트 편집기에서 열어야 합니다.
define('WP_DEBUG', false);
. 간단히 define('WP_DEBUG', true);
. 개발이 끝나면 FALSE
다시 변경해야 FALSE
.
Functions.php를 사용하여 머리글과 바닥글에 스크립트를 추가하려면 어떻게 합니까?
머리글 및 바닥글 스크립트는 종종 광고 목적 및 기타 추적 목적으로 사용됩니다. 모든 단일 페이지 또는 특정 대상 페이지에만 삽입해야 할 수 있습니다. 어느 쪽이든, 해당 PHP 파일을 직접 편집하는 것은 숙련된 WordPress 사용자가 아닌 한 갈 수 있는 방법이 아닙니다 .
다시 한 번, 시작하기 전에 작은 플러그인을 추가해야 합니다. 이번에는 플러그인을 머리글 및 바닥글 삽입 플러그인이라고 합니다.
이것을 테마 또는 사이트에 추가한 후 "설정"을 통해 편집 기능에 액세스한 다음 "머리글 또는 바닥글 삽입"에 액세스할 수 있습니다. 머리글 스크립트에 대한 상자 하나와 바닥글 스크립트에 대한 상자 하나가 표시되어야 합니다. 명확히 하자면, 이 플러그인은 PHP가 아닌 JavaScript를 입력할 것으로 예상하므로 계속하기 전에 스크립트가 올바른 형식인지 확인하십시오. 이 플러그인은 오류 메시지를 표시하지 않기 때문입니다. 이 상자에 무엇을 입력하든 페이지에 JavaScript로 입력됩니다!
추가하려는 스크립트를 상자에 바로 붙여넣을 준비가 되어 있어야 하며 "저장"을 클릭하면 프로세스가 완료됩니다! 일부 사용자는 클라이언트가 브라우저 캐시를 지우고 서버 측 캐시를 지울 때까지 이러한 변경 사항이 표시되지 않는다고 보고했습니다. 따라서 변경 사항을 실제로 적용하려면 이 작업을 수행해야 할 수 있습니다.
마무리: WordPress Functions.php 파일에 대한 입문서
시간을 내어 WordPress의 functions.php 파일이 작동하는 방식, WordPress 핵심 버전의 함수 파일, 테마 버전 파일의 차이점에 대한 긴(그러나 그럴 만한 가치가 있습니다!) 튜토리얼을 읽어주셔서 감사합니다. 이 모든 정보가 귀하의 일상적인 WordPress 워크플로 및 웹사이트 관리 관행에 동화될 때 귀하를 더 나은 WordPress 개발자로 만드는 데 도움이 되기를 바랍니다!
Kristen은 2011년부터 WordPress 사용자를 돕기 위해 튜토리얼을 작성해 왔습니다. 일반적으로 그녀가 iThemes 블로그의 새 기사를 작성하거나 #WPprosper를 위한 리소스를 개발하는 것을 볼 수 있습니다. 직장 밖에서 Kristen은 일기 쓰기(그녀는 두 권의 책을 썼습니다!), 하이킹과 캠핑, 요리, 가족과 함께 하는 일상적인 모험을 즐깁니다.
