WordPress functions.php 파일: 최고의 가이드 + 유용한 코드 스니펫

게시 됨: 2023-03-30

WordPress functions.php 파일이 무엇인지 또는 이 파일로 무엇을 할 수 있는지 잘 모르시겠습니까?

간단히 말해서 WordPress functions.php 파일은 사이트에 코드 스니펫을 추가하는 방법을 제공합니다. 이러한 스니펫을 모든 종류의 유용한 방법으로 사용할 수 있으므로 functions.php 파일이 작동하는 방식을 이해하면 더 나은 WordPress 사이트를 구축하는 데 도움이 됩니다.

WordPress functions.php 파일에 대한 궁극적인 가이드에서 이 파일에 대해 알아야 할 모든 것을 배우게 됩니다.

functions.php 파일에 대해 모두 알고 나면 사이트 사용자 지정을 시작하는 데 도움이 되는 17개의 유용한 functions.php 코드 스니펫도 공유합니다.

WordPress functions.php 파일의 기능은 무엇입니까?

WordPress functions.php 파일은 사이트에 사용자 지정 코드 스니펫을 추가하는 데 사용할 수 있는 테마 파일입니다. 이 코드 스니펫을 사용하여 사이트의 다양한 영역이 작동하는 방식을 수정하거나 사이트에 새 콘텐츠/코드를 추가할 수 있습니다.

테마에 포함되어 있음에도 불구하고 WordPress functions.php 파일은 테마를 사용자 지정하는 데만 국한되지 않습니다.

플러그인 작동 방식과 유사하게 사이트의 모든 부분을 조정할 수 있습니다.

다음은 WordPress functions.php 파일을 사용하여 수행할 수 있는 몇 가지 일반적인 조정 유형입니다.

  • 검색 결과 페이지에 표시할 게시물 수 또는 사이트의 RSS 피드에 포함할 콘텐츠와 같은 핵심 WordPress 동작을 변경합니다.
  • 나만의 맞춤 단축 코드를 만드세요.
  • 특정 페이지에 라이브 채팅 서비스의 스크립트를 삽입하거나 사이트 바닥글을 편집하는 등 사이트에 새 콘텐츠 또는 스크립트를 추가합니다.

이것은 단지 표면을 긁는 것입니다…

functions.php 파일을 사용하면 정적 HTML이 아닌 사용자 지정 PHP 코드 스니펫을 사이트에 추가할 수 있으므로 수정할 수 있는 유형에 제한이 없습니다.

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

WordPress functions.php 파일은 다른 테마 파일과 함께 활성 테마의 폴더에 있습니다. 파일을 찾으려면 FTP 또는 파일 관리자 도구를 사용하여 서버에 연결하고 …/wp-content/themes/[active-theme-name]/functions.php를 탐색할 수 있습니다.

예를 들어 인기 있는 OceanWP 테마를 사용하는 경우 functions.php 파일은 …/wp-content/themes/oceanwp/functions.php 에 있습니다.

functions.php 파일이 WordPress 사이트를 사용자 지정하기 위한 강력한 도구라는 것을 알고 계셨습니까? 시작하기 위해 알아야 할 모든 것(및 귀하의 사이트를 진정으로 나만의 사이트로 만드는 데 유용한 17가지 코드 스니펫) Click to Tweet

functions.php 파일로 안전하게 작업하는 방법

WordPress functions.php 파일로 작업하려면 웹 사이트에 코드를 추가해야 하므로 편집을 시작하기 전에 몇 가지 모범 사례를 따르는 것이 중요합니다.

누락된 쉼표 또는 아포스트로피와 같은 단순한 항목도 WordPress White Screen of Death와 같은 사이트에서 오류를 유발할 수 있습니다.

최신 버전의 WordPress에서 WordPress는 변경 사항을 저장하기 전에 "웹 사이트에 심각한 오류가 발생했습니다"라는 메시지를 표시하거나 PHP 오류를 확인하는 등 보다 우아한 방식으로 이러한 오류를 더 잘 처리할 수 있게 되었습니다.

그러나 문제가 발생하지 않도록 하려면 항상 다음 모범 사례를 따르는 것이 좋습니다.

스테이징 사이트에서 functions.php 코드 테스트

functions.php 코드 스니펫을 라이브 WordPress 사이트에 추가하기 전에 항상 사이트의 스테이징 버전에서 먼저 테스트하는 것이 좋습니다. 이를 통해 잠재적 오류를 확인하고 코드 스니펫이 의도한 대로 작동하는지 확인할 수 있습니다.

Kinsta로 호스팅하는 경우 Kinsta는 관리형 WordPress 호스팅을 사용할 때의 이점 중 하나인 모든 요금제에서 간편한 원클릭 스테이징 도구를 제공합니다.

다른 곳에서 호스팅하는 경우 WordPress 스테이징 사이트 설정에 대한 가이드를 확인할 수 있습니다.

functions.php를 변경하기 전에 사이트 백업

준비 사이트에서 테스트하는 것 외에도 라이브 사이트의 functions.php 파일에 코드 스니펫을 추가하기 전에 라이브 웹 사이트를 백업하는 것이 좋습니다.

이는 WordPress 파일을 편집할 때 따라야 할 모범 사례입니다.

코드 스니펫에 문제가 있는 경우 이 백업 지점으로 복원하여 사이트가 즉시 다시 작동하도록 할 수 있습니다.

Kinsta로 호스팅하는 경우 Kinsta는 매일 사이트를 자동으로 백업하며 언제든지 수동으로 백업을 생성할 수도 있습니다. 다른 곳에서 호스팅하는 경우 WordPress 사이트를 백업하는 방법에 대한 가이드를 읽을 수 있습니다.

functions.php 파일을 편집하는 경우 항상 하위 테마를 사용하십시오.

WordPress functions.php 파일은 WordPress 테마의 코드에 있으므로 테마를 업데이트하면 테마가 functions.php 파일을 덮어씁니다.

테마의 functions.php 파일에 대한 변경 사항을 덮어쓰지 않으려면 항상 WordPress 하위 테마를 사용하고 코드 스니펫을 하위 테마의 functions.php 파일에 추가해야 합니다.

하위 테마를 사용하면 필요할 때 여전히 상위 테마를 업데이트할 수 있지만 모든 functions.php 사용자 정의는 덮어쓰지 않습니다.

자세한 내용은 WordPress 자식 테마를 만드는 방법에 대한 전체 가이드를 확인하십시오.

더 나을 수 있는 2개의 functions.php 파일 대안

WordPress functions.php 파일은 사이트에 코드 스니펫을 추가하는 쉬운 방법을 제공하지만 대부분의 상황에서 더 나은 솔루션을 제공하는 몇 가지 functions.php 대안이 있습니다.

  1. 코드 관리자 플러그인 사용
  2. 사용자 지정 플러그인에 코드 스니펫 저장

이러한 대안은 functions.php 파일을 사용하는 것보다 몇 가지 이점이 있습니다.

  • 테마에 연결되지 않음 – 이는 테마를 변경하더라도 functions.php 사용자 정의가 그대로 유지됨을 의미합니다.
  • 더 나은 구성 – 이러한 대안을 사용하면 코드 스니펫을 더 쉽게 구성할 수 있으므로 사이트에 많은 코드 스니펫을 추가할 계획인 경우 유용할 수 있습니다.
  • 추가 제어 – 코드 관리자 플러그인의 경우 토글 버튼을 사용하여 스니펫 활성화/비활성화, 프런트엔드 또는 백엔드에서만 스니펫 실행 등과 같은 유용한 옵션을 얻을 수 있습니다.

코드 관리자 플러그인 사용

코드 관리자 플러그인은 functions.php 파일에 들어갈 코드 스니펫을 추가하고 편집할 수 있는 사용자 친화적인 인터페이스를 제공하는 플러그인입니다.

가장 인기 있는 옵션 중 하나는 무료 Code Snippets 플러그인이지만 유사한 기능을 제공하는 다른 플러그인을 찾을 수 있습니다.

코드 스니펫을 사용하면 WordPress 대시보드에서 functions.php 코드 스니펫을 추가할 수 있습니다.

  • 제목과 설명을 추가합니다.
  • 태그를 사용하여 스니펫을 구성합니다.
  • 사이트의 특정 부분에서만 스니펫을 실행하십시오.
Code Snippets 플러그인에 코드 조각을 추가합니다.
Code Snippets 플러그인에 코드 조각을 추가합니다.

그런 다음 목록에서 모든 스니펫을 보고 필요에 따라 쉽게 활성화/비활성화할 수 있습니다.

코드 조각에서 조각을 관리하는 방법.
코드 조각에서 조각을 관리하는 방법.

Code Snippets는 플러그인이므로 WordPress 테마를 변경하더라도 모든 코드 조각이 그대로 유지됩니다.

사용자 정의 기능 플러그인 생성

WordPress functions.php 파일에 대한 또 다른 대안은 코드 스니펫을 보관할 사용자 지정 플러그인을 만드는 것입니다.

복잡하게 들릴 수 있지만 실제로는 보기보다 훨씬 간단합니다.

작동 방식은 다음과 같습니다.

  1. 플러그인용 로컬 컴퓨터에 폴더를 만듭니다.
  2. 해당 폴더 안에 단일 .php 파일을 생성하고 즐겨 사용하는 텍스트 편집기로 편집합니다.
  3. 아래 코드 템플릿을 파일에 추가합니다.
  4. functions.php 코드 스니펫을 파일에 추가합니다.
 <?php /** * Plugin Name: My Custom Code Snippets * Description: This is a custom plugin to house code snippets. * Author: Kinsta * Version: 1.0 */ /* Add the first code snippet below this comment - use the comment to explain what it does. */ [CODE] /* Add the second code snippet below this comment. */' [CODE] /* Continue as needed. */ [CODE] ?>

그런 다음 WordPress에 플러그인을 설치하고 활성화하기만 하면 됩니다. 이를 수행하는 두 가지 방법은 다음과 같습니다.

  1. FTP/SFTP를 통해 서버에 연결하고 사용자 지정 플러그인 폴더를 wp-content/plugins 폴더에 업로드합니다. 그런 다음 플러그인 목록으로 이동하여 플러그인을 활성화합니다.
  2. 컴퓨터를 사용하여 폴더의 .zip 파일을 만듭니다. 그런 다음 Plugins → Add New 로 이동하여 .zip 파일을 업로드하여 다른 플러그인과 마찬가지로 설치합니다.

WordPress functions.php 파일에 액세스하는 방법: 2가지 옵션

WordPress functions.php 파일에 액세스하고 편집할 수 있는 여러 가지 방법이 있습니다. 다음은 모든 호스트에서 작동하는 가장 다양한 방법 중 두 가지입니다.

  1. WordPress 대시보드 테마 코드 편집기.
  2. SFTP 및 자체 코드 편집기.

1. WordPress 대시보드 테마 코드 편집기 사용

기본적으로 WordPress에서는 functions.php 파일을 포함하여 WordPress 대시보드에서 모든 테마 코드를 편집할 수 있습니다.

  1. WordPress 대시보드를 엽니다.
  2. 모양 → 테마 파일 편집기 로 이동합니다.
  3. 오른쪽의 Theme Files 목록에서 Theme Functions(functions.php) 파일을 선택합니다.
  4. 코드 편집기에서 편집 내용을 추가합니다.
  5. 파일 업데이트 버튼을 클릭하여 변경 사항을 저장합니다.
WordPress 대시보드에서 functions.php 파일을 편집하는 방법.
WordPress 대시보드에서 functions.php 파일을 편집하는 방법.

그렇게 말하면 많은 사람들이 보안을 향상시키기 위해 WordPress 대시보드 내 파일 편집을 비활성화하는 것을 좋아합니다. 이 경우 다음 방법을 사용할 수 있습니다.

2. SFTP + 나만의 코드 편집기 사용

WordPress functions.php 파일을 편집하는 또 다른 방법으로 FTP/SFTP를 통해 서버에 연결하고 그런 식으로 파일을 편집할 수 있습니다.

방법은 다음과 같습니다.

  1. 아직 다운로드하지 않았다면 FTP 클라이언트를 다운로드하세요. 스크린샷에 무료 FileZilla 클라이언트를 사용하겠습니다.
  2. FTP 자격 증명을 사용하여 서버에 연결합니다. SFTP를 사용하여 연결하는 방법은 다음과 같습니다.
  3. 폴더 구조를 사용하여 …/wp-content/themes/[your-active-child-theme] 로 이동합니다.
  4. functions.php 파일을 마우스 오른쪽 버튼으로 클릭하고 편집을 선택합니다.
FileZilla로 functions.php 파일을 편집하는 방법.
FileZilla로 functions.php 파일을 편집하는 방법.

이렇게 하면 파일이 로컬 컴퓨터에 다운로드되고 텍스트 편집기에서 자동으로 열립니다. 이제 코드 스니펫을 파일에 추가할 수 있습니다.

FileZilla는 로컬 텍스트 편집기에서 파일을 엽니다. 숭고한 텍스트.
FileZilla는 로컬 텍스트 편집기(예: Sublime Text)에서 파일을 엽니다.

완료되면 변경 사항을 저장하고 파일을 닫습니다.

FileZilla는 편집된 버전을 서버에 다시 업로드하라는 메시지를 표시해야 합니다.

변경한 후 functions.php 파일을 다시 업로드해야 합니다.
변경한 후 functions.php 파일을 다시 업로드해야 합니다.

워드프레스 functions.php 파일에 추가할 수 있는 가장 유용한 기능

이제 WordPress functions.php 파일을 편집하는 방법을 알았으므로 사이트에 추가할 수 있는 가장 유용한 functions.php 코드 스니펫을 살펴보겠습니다.

블로그 게시물에 마지막 수정 날짜 표시

기본적으로 대부분의 테마는 블로그 게시물을 게시한 날짜를 표시합니다. 그러나 오래된 콘텐츠를 정기적으로 업데이트하고 새로 고치는 경우 마지막으로 수정한 날짜를 표시하거나 게시 날짜를 마지막으로 수정한 날짜로 바꿀 수도 있습니다.

이를 통해 인간 방문자는 귀하가 콘텐츠를 계속 업데이트하고 있음을 알 수 있을 뿐만 아니라 귀하의 콘텐츠가 최신임을 Google에 보여줄 수도 있습니다.

 function show_last_updated( $content ) { $u_time = get_the_time('U'); $u_modified_time = get_the_modified_time('U'); if ($u_modified_time >= $u_time + 86400) { $updated_date = get_the_modified_time('F jS, Y'); $updated_time = get_the_modified_time('h:i a'); $custom_content .= '<p class="last-updated-date">Recently updated on '. $updated_date . ' at '. $updated_time .'</p>'; } $custom_content .= $content; return $custom_content; } add_filter( 'the_content', 'show_last_updated' );

자세한 내용은 WordPress의 마지막 수정 날짜를 보여주는 전체 게시물을 확인하십시오.

특정 사용자에 대해 WordPress 툴바 비활성화

기본적으로 WordPress는 기본 제공 WordPress 사용자 역할을 사용하여 로그인한 모든 사용자에게 WordPress 도구 모음을 표시합니다. WooCommerce 상점 의 고객 사용자 역할과 같은 사용자 정의 역할의 경우에는 반드시 그런 것은 아닙니다 .

이를 변경하려면 functions.php 코드 스니펫을 사용하여 특정 사용자 역할에 대한 WordPress 도구 모음을 숨길 수 있습니다.

이 예에서는 작성자 사용자 역할이 있는 사용자를 위해 관리 도구 모음을 고용합니다.

 add_filter( 'show_admin_bar', function( $show ) { if ( current_user_can( 'author' ) ) { return false; } return $show; } );

게시물이 RSS 피드에 표시되지 않도록 지연

기본적으로 콘텐츠는 게시하는 즉시 RSS 피드에 나타납니다. 이렇게 하면 Google이 원래 게시물의 색인을 생성하기 전에 콘텐츠 스크레이퍼가 콘텐츠를 스크랩하고 Google에서 색인을 생성할 수 있습니다.

다른 사람이 귀하의 콘텐츠에 대한 크레딧을 받는 것을 방지하기 위해 게시물이 RSS 피드에 표시되지 않도록 지연할 수 있습니다.

이렇게 해도 콘텐츠 스크레이퍼가 완전히 중지되지는 않지만 콘텐츠를 먼저 색인에 추가할 시간을 Google에 제공할 수 있습니다.

다음은 코드 스니펫입니다. 숫자(이 예에서는 "30")를 원하는 지연 시간(분)으로 변경할 수 있습니다.

 function kinsta_delay_feed_content($where) { global $wpdb; if ( is_feed() ) { // timestamp in WP-format $now = gmdate('Ymd H:i:s'); // value for wait; + device $wait = '30'; // integer // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff $device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR // add SQL-sytax to default $where $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait "; } return $where; } add_filter('posts_where', 'kinsta_delay_feed_content');

RSS 피드에서 특정 범주 제외

콘텐츠가 RSS 피드에 표시되는 것을 지연시키는 것 외에도 사이트의 RSS 피드에 블로그 게시물의 전체 범주가 표시되지 않도록 제외하려는 상황이 있을 수 있습니다.

이를 달성하기 위해 다음 functions.php 코드 스니펫을 사용할 수 있습니다.

 function kinsta_exclude_category_rss($query) { if ($query->is_feed) { $query->set('cat','-38'); } return $query; } add_filter('pre_get_posts','kinsta_exclude_category_rss');

예제 카테고리 ID("38")를 제외하려는 실제 카테고리 ID로 바꾸십시오(빼기 기호는 제거하지 마십시오).

ID 번호를 찾는 방법은 다음과 같습니다.

  1. 게시물 → 카테고리 로 이동하여 사이트의 모든 카테고리 목록을 확인하세요.
  2. 제외하려는 카테고리 아래에서 수정을 클릭합니다.
  3. 브라우저 주소 표시줄에서 편집 페이지의 URL을 확인합니다. 카테고리 ID는 ?taxonomy=category&tag_ID=X 뒤에 오는 숫자입니다.

예를 들어 URL이 https://yoursite.com/wp-admin/term.php?taxonomy=category&tag_ID=38&post_type=post 인 경우 카테고리 ID는 38 입니다.

게시물 유형별로 WordPress 개정 제한

사이트의 데이터베이스가 팽창하는 것을 방지하기 위해 저장할 개정판 수를 제한할 수 있습니다.

사이트 전체에서 WordPress 게시물 개정을 제한하는 한 가지 방법은 사이트의 wp-config.php 파일을 편집하는 것이지만, 다양한 게시물 유형(예: 블로그 게시물과 WooCommerce 제품)에 대해 서로 다른 수의 개정을 저장하기를 원할 수 있습니다.

이 functions.php 코드 스니펫을 사용하면 바로 그렇게 할 수 있습니다. 자신의 것으로 만들려면 게시물 유형(이 예에서는 "게시물")을 제어하려는 실제 게시물 유형으로 변경하고 숫자(이 예에서는 "5")를 저장하려는 개정판 수로 변경합니다.

 function kinsta_post_revisions_by_type( $revisions, $post ) { if( 'post' == $post->post_type ) { $revisions = 5; } return $revisions; } add_filter( 'wp_revisions_to_keep', 'kinsta_post_revisions_by_type', 10, 2 );

* 참고 – "if" 문 바로 뒤에 오는 "게시물"을 편집하고 있습니다. 예를 들어 제품을 타겟팅하려면 해당 라인이 다음과 같이 표시됩니다.

 if( 'product' == $post->post_type ) {

WordPress 검색 기능 비활성화

사이트에 검색 기능이 필요하지 않은 경우 잠재적 남용을 방지하기 위해 WordPress 검색 기능을 비활성화할 수 있습니다.

예를 들어 사이트에 검색창을 표시하지 않더라도 봇은 URL에 ?s=[search-term]을 추가하여 검색 기능을 계속 사용할 수 있습니다.

이를 위해 다음 코드 스니펫을 추가할 수 있습니다.

 function kinsta_disable_wp_search( $query, $error = true ) { if ( is_search() ) { $query->is_search = false; $query->query_vars[s] = false; $query->query[s] = false; // to error if ( $error == true ) $query->is_404 = true; } } add_action( 'parse_query', 'kinsta_disable_wp_search' ); add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

누군가 검색 기능을 직접 사용하려고 하면 사이트에서 대신 404 페이지를 반환합니다.

나만의 맞춤 단축 코드 만들기(예: 현재 연도)

WordPress 단축 코드는 사이트에 동적 콘텐츠를 포함할 수 있는 정말 편리한 바로 가기입니다.

많은 WordPress 플러그인이 단축 코드에 의존하여 기능을 강화하지만 WordPress functions.php 파일 및 add_shortcode() 함수를 사용하여 사용자 정의 단축 코드를 생성할 수도 있습니다.

예를 들어 일반적인 사용 사례 중 하나는 현재 연도를 표시하는 단축 코드를 만드는 것입니다. 이렇게 하면 매년 1월 1일에 모든 것을 수동으로 업데이트할 필요 없이 모든 콘텐츠에 현재 연도를 자동으로 표시할 수 있습니다.

이러한 단축 코드를 생성하려면 다음 코드를 사용할 수 있습니다.

 function year_shortcode() { $year = date('Y'); return $year; } add_shortcode('currentyear', 'year_shortcode');

그런 다음 콘텐츠에 [currentyear] 단축 코드를 추가하면 자동으로 실제 연도로 대체됩니다(예: 2023).

게시물 제목에 단축 코드 허용

기본적으로 WordPress는 게시물의 제목 필드에 입력한 단축 코드를 실행하지 않습니다. WordPress 게시물 제목에 단축 코드를 사용하려는 경우 WordPress functions.php 파일에 간단한 코드 스니펫을 추가하여 이 기능을 활성화할 수 있습니다.

예를 들어 이전 코드 스니펫과 결합하면 [currentyear] 단축 코드를 추가하여 게시물 제목에 현재 연도를 자동으로 포함할 수 있습니다.

 add_filter( 'the_title', 'do_shortcode' );

보안 향상을 위해 로그인 오류 숨기기

기본적으로 WordPress는 실패한 로그인 시도에 대한 설명 메시지를 표시합니다. 이 메시지는 특정 이메일 주소가 귀하의 사이트에 등록되어 있는지 여부와 같은 일부 정보를 제공할 수 있습니다(비밀번호가 올바르지 않더라도).

잠재적으로 민감한 정보가 유출되는 것을 방지하기 위해 functions.php 파일에 다음 코드 스니펫을 추가하여 이러한 로그인 오류를 숨길 수 있습니다.

 function kinsta_hide_login_errors(){ return 'These are not valid credentials'; } add_filter( 'login_errors', 'kinsta_hide_login_errors' );

이 스니펫은 기본 로그인 오류 텍스트를 다음 메시지로 바꿉니다. 유효한 자격 증명이 아닙니다 .

기본 설정에 따라 텍스트를 사용자 정의할 수 있지만 대시, 슬래시 또는 기타 문자를 사용하면 오류가 발생할 수 있으므로 이러한 문자를 "이스케이프"하지 않는 한 사용하지 마십시오.

발췌 길이 변경

기본적으로 WordPress 발췌문에는 게시물의 처음 55단어가 표시됩니다.

이를 조정하려면 functions.php 파일에 다음 코드 스니펫을 추가할 수 있습니다.

 function kinsta_change_excerpt_length($length) { return 90; } add_filter('excerpt_length', 'kinsta_change_excerpt_length');

위의 코드 스니펫은 발췌 길이를 90단어로 변경합니다. 다른 숫자를 원하는 경우 "90"을 사용하려는 정확한 단어 수로 변경할 수 있습니다.

WordPress 버전 번호 제거

악의적인 행위자가 사용 중인 WordPress 버전을 감지하기 어렵게 만들기 위해 일부 사용자는 사이트의 프런트엔드 코드에서 WordPress 버전 번호가 표시되지 않도록 제거하려고 합니다.

이를 위해 functions.php 파일에 다음 코드 스니펫을 추가할 수 있습니다.

 function kinsta_hide_version() { return ''; } add_filter('the_generator', 'kinsta_hide_version');

WordPress 페이지 매김 설정

테마에서 페이지 매김이 작동하는 방식이 마음에 들지 않으면 functions.php 코드 스니펫을 사용하여 페이지 매김 동작을 조정하거나 고유한 페이지 매김 시스템을 만들 수도 있습니다.

이러한 유형의 수정에 관심이 있다면 몇 가지 예제 functions.php 코드 스니펫이 포함된 WordPress 페이지 매김에 대한 전체 가이드가 있습니다.

검색 목록 페이지에 포함할 결과 수 변경

워드프레스는 아카이브 페이지( 설정 → 읽기 )에 나열할 게시물 수를 제어할 수 있는 대시보드 내 옵션을 제공합니다.

그러나 이렇게 하면 모든 아카이브 페이지의 번호가 변경됩니다. 검색 결과 페이지에 다른 번호를 사용하려면 어떻게 해야 합니까?

이를 위해 이 스니펫을 functions.php 파일에 추가할 수 있습니다. 숫자(이 예에서는 "12")를 추가 결과를 페이지로 나누기 전에 표시하려는 실제 결과 수로 변경해야 합니다.

 function kinsta_search_results_list() { if ( is_search() ) set_query_var('posts_per_archive_page', 12); } add_filter('pre_get_posts', 'kinsta_search_results_list');

WordPress RSS Feed에 주요 이미지 포함

게시물의 추천 이미지를 RSS 피드 콘텐츠에 포함하려면 functions.php 파일에 다음 스니펫을 추가할 수 있습니다.

 function kinsta_featured_image_rss($content) { global $post; if ( has_post_thumbnail( $post->ID ) ){ $content = '<div>' . get_the_post_thumbnail( $post->ID, 'full', array( 'style' => 'margin-bottom: 15px;' ) ) . '</div>' . $content; } return $content; } add_filter('the_excerpt_rss', 'kinsta_featured_image_rss'); add_filter('the_content_feed', 'kinsta_featured_image_rss');

작성된 대로 위의 코드 스니펫은 이미지를 전체 크기로 삽입합니다. 다른 썸네일 크기를 사용하려면 "전체"를 다른 썸네일 크기(예: "대형" 또는 "중간")로 변경할 수 있습니다.

파일 유형(예: SVG)에 대한 업로드 지원 추가

기본적으로 WordPress는 SVG 파일과 같은 특정 파일 형식을 업로드하지 못하도록 차단합니다.

이러한 차단된 파일 유형에 대한 지원을 활성화하려면 WordPress functions.php 파일에 다음 코드 스니펫을 추가할 수 있습니다.

 function kinsta_myme_types($mime_types){ $mime_types['svg'] = 'image/svg+xml'; return $mime_types; } add_filter('upload_mimes', 'kinsta_myme_types', 1, 1);

이 코드 스니펫은 SVG 업로드만 활성화하지만 필요한 경우 다른 파일 유형에 대한 지원을 추가하도록 수정할 수 있습니다.

관리자가 아닌 사용자를 위한 WordPress Update Nags 숨기기

기본적으로 WordPress는 사용 가능한 새 업데이트가 있을 때 대시보드 액세스 권한이 있는 모든 사용자에게 대시보드 전체 메시지를 표시합니다.

사용자의 역할이 업데이트 적용을 허용하지 않는 경우에도 대시보드 메시지는 해당 사용자에게 관리자에게 문의하라고 알려줍니다.

이를 조정하려면 이 코드 스니펫을 사용하여 관리자가 아닌 모든 사용자에 대한 업데이트 알림을 숨길 수 있습니다.

 function kinsta_hide_update_nag ( ) { if ( ! current_user_can ( 'update_core' ) ) { remove_action ( 'admin_notices' , 'update_nag' , 3 ) ; } } add_action ( 'admin_menu' , 'kinsta_hide_update_nag' ) ;

다른 변형의 경우 WordPress 업데이트 알림을 비활성화하는 방법에 대한 가이드를 확인하십시오.

자동 JPEG 최적화 품질 변경

모든 사람이 이 기능에 대해 아는 것은 아니지만 WordPress는 이미지를 업로드한 후 사이트의 축소판을 만들 때 JPEG 이미지를 자동으로 압축합니다.

WordPress 4.5 이후 WordPress는 기본 품질 수준을 82로 설정했습니다(100은 제로 압축).

이 품질 수준을 높이거나 낮추려면 functions.php 파일에 다음 코드 스니펫을 추가할 수 있습니다. 숫자(이 예에서는 "90")를 사용하려는 실제 품질 수준으로 변경해야 합니다. :

 add_filter( 'jpeg_quality', create_function( '', 'return 90;' ) );

WordPress functions.php 파일 구성을 위한 모범 사례

몇 가지 코드 스니펫을 추가하기 위해 WordPress functions.php 파일을 사용하고 있다면 구성에 대해 걱정할 필요가 없을 것입니다.

그러나 사이트에 많은 코드 스니펫을 추가하는 경우 functions.php 파일 구성 모범 사례를 따르지 않으면 빠르게 다루기 힘들고 복잡해질 수 있습니다.

다음은 코드 스니펫을 체계적으로 유지하기 위한 몇 가지 모범 사례입니다.

모든 것을 설명하는 코드 주석 추가

functions.php 파일에 코드 스니펫을 처음 추가하면 스니펫이 수행하는 작업과 코드를 추가한 이유를 정확히 알 수 있습니다. 그러나 1년 후 functions.php 파일을 다시 보면 상황이 명확하지 않을 수 있습니다.

이를 방지하려면 스니펫이 수행하는 작업과 스니펫을 추가한 이유를 설명하는 코드 주석을 각 스니펫에 추가해야 합니다.

코드 주석은 WordPress에서 실행되지 않지만 사람이 코드 스니펫이 수행하는 작업을 이해하기 위해 읽을 수 있는 텍스트입니다.

한 줄 코드 주석을 추가하려면 다음 형식을 사용할 수 있습니다.

 // This is a single-line code comment

여러 줄 코드 주석을 추가하려면 다음 형식을 사용할 수 있습니다.

 /** * This is a code comment that spans multiple lines * This text is also in the same comment * This is the last line in the code comment */

다음은 코드 주석을 사용하는 방법에 대한 예입니다. 각 스니펫 앞의 주석이 스니펫이 수행하는 작업을 설명하는 것을 볼 수 있습니다.

코드 주석을 사용하여 functions.php 파일의 스니펫을 문서화하는 예입니다.
코드 주석을 사용하여 functions.php 파일의 스니펫을 문서화하는 예입니다.

포함 파일을 사용하여 스니펫을 다른 파일로 분리

정말 많은 코드 스니펫이 있는 경우 functions.php 파일만 사용하는 대신 별도의 파일에 저장할 수 있습니다.

그런 다음 include 또는 require를 사용하여 functions.php 파일에 해당 코드 스니펫을 포함할 수 있습니다. Mike Schinkel은 StackExchange에서 이 작업을 수행하는 방법에 대한 좋은 예를 가지고 있습니다.

위의 functions.php 대안 중 하나를 고려하십시오.

functions.php 파일이 약간 복잡해지면 이전에 자세히 설명한 functions.php 대안 중 하나를 선호할 수 있습니다.

예를 들어 무료 Code Snippets 플러그인을 사용하면 각 코드 조각을 개별적으로 추가하고 고유한 제목과 설명을 완성할 수 있으므로 모든 것을 매우 쉽게 구성할 수 있습니다. 태그를 사용하여 스니펫을 구성할 수도 있습니다.

functions.php 파일을 사용하여 정확한 사양으로 사이트를 사용자 정의하십시오! 알아야 할 모든 것이 이 가이드에 있습니다. 트윗하려면 클릭하세요.

요약

WordPress functions.php 파일은 웹사이트에 PHP 코드 스니펫을 추가할 수 있는 테마별 파일입니다.

functions.php 파일에 코드 스니펫을 추가하려면 테마를 업데이트할 때 변경 사항을 덮어쓰지 않도록 항상 자식 테마를 사용해야 합니다. 스니펫을 추가하기 전에 사이트를 백업하고 가능한 한 스테이징 사이트에서 테스트하는 것이 좋습니다.

functions.php 파일을 사용하는 대신 코드 관리자 플러그인을 고려하거나 스니펫을 보관할 사용자 정의 플러그인을 생성할 수도 있습니다.

이제 WordPress functions.php 파일이 어떻게 작동하는지 알았으므로 모든 종류의 유용한 방법으로 사이트를 사용자 정의할 수 있습니다.

위의 functions.php 스니펫 예제는 시작할 수 있는 몇 가지 좋은 위치를 제공하지만 무엇을 할 수 있는지에 대한 한계는 무궁무진합니다.