워드프레스 PHP 가이드
게시 됨: 2020-10-16WordPress PHP를 이해하고 싶으십니까? 이 포스트에서 우리는 PHP가 무엇인지, 그리고 어떻게 워드프레스에서 작동하는지 풀어볼 것입니다. PHP를 이해하고 WordPress와 통합하는 방법은 사이트 유지 관리, 오류 문제 해결 및 WordPress 개발에 일반적으로 도움이 됩니다.
PHP는 무엇입니까?
Hypertext Preprocessor의 약자인 PHP는 웹의 약 79%에서 사용되는 스크립팅 언어 입니다. PHP를 사용하면 데이터베이스와 상호 작용하고, 조건문을 작성하고, WordPress 관련 정보를 얻고, 미디어 파일을 가져오는 등의 많은 강력한 작업을 수행할 수 있습니다.
워드프레스 PHP
PHP는 대부분의 WordPress 핵심 파일이 이 언어로 작성되기 때문에 WordPress를 구동하는 것입니다. 워드프레스 웹사이트의 파일 목록을 보면 대부분의 파일이 .php로 끝나는 것을 볼 수 있습니다. 이는 파일이 PHP 파일임을 의미합니다. 아래 스크린샷에 나열된 대부분의 WordPress PHP 파일은 WordPress 웹사이트가 작동하는 데 필요합니다.
PHP 작동 방식: WordPress 웹사이트
WordPress 웹사이트에서 PHP가 어떻게 사용되는지에 대한 실제 예를 살펴보겠습니다. 이 예에서는 조건문을 사용하여 사용자가 로그인했는지 여부를 확인합니다.
<?php if ( true === user_is_logged_in() ) { echo 'You are logged in!'; } else { echo 'You are not logged in! Please sign in.'; }
PHP에 대한 지식이 없더라도 사용자가 로그인했는지 여부를 제거할 수 있습니다. 사용자가 로그인했는지 여부를 확인하기 위해 조건부(if/else)를 사용합니다. 는 환영하는 메시지를 표시하고 그렇지 않은 경우 로그인하도록 요청합니다. 이것은 기본적인 예일 뿐이지만 조건문이 얼마나 강력한지 알 수 있습니다.
"user_is_logged_in" 함수를 확인했음을 알 수 있습니다. 이름 뒤에 괄호 "()"가 있기 때문에 이것이 함수라는 것을 압니다.
함수가 false를 반환하면 코드가 실행될 때 다음 메시지가 표시됩니다.
"로그인하지 않았습니다! 로그인 해주세요."
PHP와 워드프레스
위의 예에서 PHP가 WordPress의 모든 곳에서 발견된다는 것을 알 수 있습니다. WordPress에는 기능, API, 테마 및 플러그인을 수정하는 후크와 함께 표시되는 게시물 수를 제어하는 루프와 같은 하위 시스템이 있습니다.
워드프레스 PHP: 디버깅 활성화
WordPress는 기본적으로 PHP에서 생성된 오류/경고를 표시하지 않습니다. 이것은 프로덕션에 있는 사이트에 대한 좋은 방법이지만 개발 중인 경우 이 기능을 활성화하는 것이 좋습니다. 디버깅을 활성화하려면 WordPress의 루트 디렉토리에 있는 wp-config.php 파일에서 다음 행을 변경하기만 하면 됩니다.
define( 'WP_DEBUG', false );
상수 WP_DEBUG를 true로 변경한 다음 파일을 저장하기만 하면 됩니다. 숨겨진 모든 오류 또는 경고가 이제 표시되며 이는 우리가 원하는 것입니다.
루프와 쿼리
쿼리는 페이지에 표시할 게시물을 수집하는 시스템이고 루프는 각 게시물을 거쳐 그에 따라 표시되는 시스템입니다. 홈페이지에서 쿼리는 가장 최근 게시물을 찾고 최신 게시물 10개를 가져옵니다. 카테고리 페이지에서 쿼리는 주어진 카테고리의 가장 최근 게시물 10개를 찾습니다. 쿼리를 수정하고 수행해야 할 작업에 사용할 수도 있습니다.
예를 살펴보겠습니다.
<?php if ( have_posts() ) { $i = 0; while ( have_posts() ) { $i++; if ( $i > 1 ) { echo '<hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true" />'; } the_post(); get_template_part( 'template-parts/content', get_post_type() ); } } elseif ( is_search() ) { ?> <div class="no-search-results-form section-inner thin"> <?php get_search_form( array( 'label' => __( 'search again', 'twentytwenty' ) ); ?>
코드는 "have_posts()" 함수에 반복할 데이터가 있는지 확인하는 것으로 시작합니다. 그렇다면, 변수 $i 를 0으로 설정합니다. 그런 다음 조건이 true인 한 실행 되는 루프인 while 루프를 실행합니다(즉, 반환할 데이터가 있는 경우). 먼저 변수 $i 를 "$i++;" 1만큼 증가시킨 다음 변수 $i 가 1보다 큰지 확인하는 조건문을 실행합니다. 그렇다면 게시물을 구분하기 위해 일부 HTML을 표시합니다. 그런 다음 "the_posts()" 함수로 게시물을 얻고 "get_template_part()" 함수로 게시물의 내용을 표시합니다.

이 조건이 충족되지 않으면 "is_search" 기능을 사용하여 검색인지 여부를 결정합니다. 그렇다면 단순히 일부 HTML을 렌더링하고 사용자에게 다시 검색하도록 요청하는 "get_search_form()" 함수를 실행합니다.
후크
WordPress는 개발자에게 핵심 기능을 수정할 수 있는 기회를 제공합니다. 그러나 코어 파일을 수정하고 싶지는 않습니다 . 이것은 개발 규칙 #1이며 단순히 나쁜 습관입니다. 작업 중인 프로젝트에 따라 때때로 어려울 수 있지만 여기에서 후크가 작동합니다. WordPress는 모두 후크에 관한 것이며 개발에 사용되는 두 가지 기본 후크가 있습니다. 이 두 개의 후크는 작업 후크와 필터 후크입니다. 작업 후크를 사용하면 사용자 지정 코드를 추가할 수 있고 필터 후크를 사용하면 데이터를 사용하기 전에 수정할 수 있습니다.
테마의 닫기 본문 태그 앞에 자체 코드를 추가하도록 wp_footer를 사용자 지정해 보겠습니다. 테마의 functions.php 를 열면 다음 코드를 추가할 수 있습니다.
function ithemes_footer_code() { ?> <p>This is the footer.</p> <?php } add_action( 'wp_footer', 'ithemes_footer_code' ); // ---- END // ---- BEGIN if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) { function ithemes_custom_length_excerpt( $length ) { return 50; } } add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );
이 코드는 "add_action()" 함수에 사용되는 콜백 함수로 사용되는 "ithemes_footer_code" 함수를 생성합니다. 이 함수에는 wp_footer에서 수행하려는 코드가 포함되어 있습니다. add_action의 첫 번째 매개변수에 대해 이 코드가 바닥글에서 실행될 것임을 나타내는 'wp_footer'를 호출합니다. 두 번째 매개변수는 콜백 함수(방금 만든 함수)이며 사용자 정의 코드를 실행합니다. 이것은 액션 훅의 예입니다.
포스트 발췌문의 사용자 정의 길이를 수정 해 보겠습니다. 기본적으로 WordPress는 57자를 표시하지만 문자 수를 더 많거나 적게 수정할 수 있습니다.
if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) { function ithemes_custom_length_excerpt( $length ) { return 50; } } add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );
먼저 "function_exists()" 함수에 대한 조건문을 작성하여 생성 중인 함수가 이미 존재하는지 확인합니다. 존재하지 않는 경우 함수를 만들고 $length 를 인수로 사용합니다. 그런 다음 값 50을 반환합니다. 그런 다음 4개의 매개변수를 보유할 수 있는 "add_filter()" 함수를 실행하지만 3개만 사용합니다. 이것은 필터 후크의 예입니다.
마무리: 워드프레스 PHP
보시다시피 WordPress PHP의 기본 사항과 PHP가 WordPress 코드베이스에 구현되는 방법을 배우면 사이트가 실제로 뒤에서 어떻게 실행되고 있는지 더 잘 이해할 수 있습니다. 여기에서 PHP: Syntax, Loop in WordPress 및 WordPress 템플릿 태그에 대한 몇 가지 비디오 자습서를 시청하십시오.
