WordPress 플러그인 개발을위한 초보자 가이드
WordPress CMS는 인터넷의 모습을 바꾸어 놓았으며 새로운 아이디어가 번창하고 오픈 소스 운동이 소프트웨어 및 웹 개발에 뿌리를두고 있습니다. WordPress는 웹 포럼, 구직 게시판 및 고전 웹 페이지와 같은 다른 많은 스크립트를 실행할 수있는 블로깅 플랫폼입니다. 컨텐츠 관리 시스템.
우리는 WordPress 용 플러그인 개발을 시작하는 몇 가지 방법을 살펴 보겠습니다. 이 단계는 매우 간단하며 공부하기 위해 큰 헌신을 요구하지 않습니다. PHP에 대한 초보적인 지식은 WordPress 파일 구조와 관리 패널에 대한 기본 지식이있는 경우에도 유용합니다..
이 간단한 튜토리얼에서는 간단한 WordPress 플러그인을 만드는 데 필요한 기본 단계를 살펴 보겠습니다. 이 함수는 함수 호출에 전달 된 숫자를 기반으로 동적 발췌를 생성하는 데 사용됩니다. 플러그인 파일을 업로드하고 관리자 패널에서 활성화 한 다음 발췌 할 페이지의 모든 기능을 호출하여 후속 작업을 수행해야합니다. 완성 된 플러그인 소스 코드에 대한 링크는이 기사의 뒷부분에 이미 추가되었습니다. :)
WordPress를 개발해야하는 이유?
플러그인은 추가 기능을 추가하여 블로그의 기능을 향상시키는 좋은 방법입니다. 이것들은 함수 훅 (hook)에 의해 템플릿 안의 어느 곳에 나 위치 할 수 있습니다. 시간이 지남에 따라 WordPress의 플러그인 시스템의 확장성에 힘 입어 엄청난 성장과 개발자가 제출 한 수백 개의 소프트웨어.
WordPress는 고유 한 플러그인이 거의없고 그 사이에 CMS와 같은 고급 기능을 제공합니다. 개발자는 웹 로그의 백엔드 사양을 완벽하게 제어 할 수 있습니다. PHP 개발자를 고용하여 시스템 플러그인을 만드는 것은 상상할 수 없을 정도로 많은 비용이 들며 API는 작업하기 쉽고 자신을 배우기에 충분히 쉽습니다..
부차적 인 주장으로, WordPress를 통해 개발하는 것은 다른 영역으로 자신을 튜닝하는 훌륭한 연습입니다. WordPress에서 더 작은 플러그인 및 사이드 바 위젯을 제작하면 백엔드 시스템이 실제로 어떻게 작동하는지 이해하는 데 도움이됩니다. 콘텐츠 시스템의 대다수에 대해 더 깊이 이해할 수 있기 때문에 WordPress에만 국한되지 않습니다..
1. WP 폴더 구조
워드 프레스 폴더 구조에 대한 소개는 기본 앱 디렉토리를 보여줍니다. wp-content 내부에는 플러그인 예배 규칙서. 여기서 개별 플러그인이 모두 단일 파일 또는 적절한 이름의 하위 디렉토리.
단일 .php 파일 만 필요로하는 더 작은 플러그인의 경우 플러그인 / 디렉토리에 직접 배치 할 수 있습니다. 그러나 더 복잡한 응용 프로그램을 개발할 때는 플러그인 이름을 딴 하위 디렉토리를 만드는 것이 훨씬 더 유용합니다. 내부에는 JavaScript, CSS 및 HTML 포함 기능을 PHP 함수와 함께 저장할 수 있습니다..
에이 readme.txt
파일은 플러그인을 다운로드 할 계획이라면 유용 할 수 있습니다. 이 파일에는 사용자의 이름과 플러그인이 포함해야합니다. 작성자는 각 개정에 대한 세부 사항 및 업데이트가 포함되도록 고려할 수도 있습니다.
2. PHP 파일 시작하기
새 플러그인을 만들려면 간단한 PHP 파일로 시작해야합니다. 이 이름은 아무거나 지정할 수 있지만 일반적으로 플러그인의 공식 이름을 반영해야합니다. 그래서 예를 들어 우리의 기본 코드를 만들고 hongkiat-excerpt.phps 파일을 명명했습니다..
플러그인의 첫 번째 줄 절대로 필요한 것 구문 분석 엔진에 대한 설명 정보입니다. 이것은 WordPress가 파일을 처리 할 수 없기 때문에 매우 중요합니다. 아래는 귀하가 직접 복사 및 성형 할 수있는 코드 스 니핏의 예입니다.
플러그인 이름은 활성화 할 때 Admin 백엔드 패널에 표시됩니다. 플러그인 패널의 세부 정보 창에 배치 할 URI와 동일합니다. 버전이나 설명을 포함 할 필요는 없지만 플러그인을 훨씬 전문적으로 보입니다..
3. WordPress 명명 규칙 및 모범 사례
실제로 플러그인을 구조화하는 몇 가지 방법이 있습니다. 여러 번 PHP 개발자들은 함수와 변수 이름과의 충돌을 피하기 위해 전체 클래스 시스템을 만들 것입니다. PHP의 고급 OOP 기능에 익숙하지 않은 경우 샘플 함수에 코드를 작성하는 것이 가장 좋습니다.
따라서 예제 코드에서는 데이터를 저장하는 단일 함수를 작성합니다. 또한 템플릿 파일 내부에 구현할 수있는 몇 가지 변수를 정의해야합니다. 다음은 핵심 로직이 제거 된 플러그인 파일에서 가져온 예제 코드입니다..
샘플 코드를 작성할 때 WordPress에서 설정 한 규정 및 가이드를 따르는 것이 가장 좋습니다. 이미 많은 내부 함수가 정의되어 있으므로 모든 변수와 함수 이름 앞에 레이블을 붙여 중복을 피할 수 있습니다.
위의 예제에서 우리는 모든 설정 이름 앞에 홍콩 키. 이것은 보통 플러그인 이름과 관련된 키워드로 바꿀 수 있습니다. 위 코드는 단지 샘플 설정 최종 플러그인과 관련이 없어야합니다. 이는 변수 이름과 함수 호출을 작성하는 방법에 대한 통찰력을주기위한 것입니다..
4. 필터와 액션으로 다이빙
우리가 원시 코드에 뛰어 들기 전에 언급할만한 또 다른 개념이 있습니다. 행위 과 필터 플러그인 데이터를 조작하는 방식에 깊이 관련되어있는 완전히 다른 두 가지 개념입니다..
이 두 비트의 코드는 WordPress API에서 표준으로 제공됩니다. 필터와 액션을 통해 플러그인 개발자는 새로운 플러그인과 관련된 WordPress 관리자 패널에서 코드의 일부를 업데이트 할 수 있습니다. 즉, 사이드 바에 새 탭을 추가하거나 플러그인 옵션에 대한 추가 설정 링크를 추가 할 수 있습니다..
add_filter () 이해하기
에이 필터 WordPress에 전달되는 약간의 텍스트 또는 데이터에 사용됩니다. 필터를 사용하면 문자 그대로 내용 필터링 어떤 방식 으로든 데이터를 변경하는 사용자 지정 작성 함수를 통해.
예를 들어, 변경할 필터를 만들 수 있습니다. $ the_content
이것은 WordPress 기사의 전체 게시물 내용을 포함하는 WordPress에 의해 설정된 변수입니다. 플러그인을 위해 우리는 $ the_content
그리고 문자의 길이를 발췌로 단축.
플러그인은 플러그인을 작성하여 블로그의 모양과 느낌을 사용자 정의 할 때 편리합니다. 이러한 기능은 사이드 바 위젯이나 게시물 기능을 변경하는 작은 기능을 작성할 때 특히 인기가 있습니다. 다음은 필터를 적용하는 방법을 보여주는 샘플 코드 줄입니다..
add_filter ( 'wp_title', 'hongkiat_func');
여기서 우리는 WordPress 페이지 제목에 필터를 추가합니다. 이 코드는 공식 플러그인과 관련이 없으며 여기서는 예제로만 사용됩니다..
그만큼 add_filter
함수는 WordPress에서 기본이며 페이지 내용에서 발견 된 변수에 새 필터를 추가하는 데 사용됩니다. 위의 행에서 타겟팅하고 있습니다. $ wp_title
여기에는 현재 페이지의 제목이 들어 있습니다. 그런 다음이 변수를 가짜 함수로 전달합니다. hongkiat_func ()
그런 다음 어떤 목적 으로든 새 타이틀 태그를 조작하고 반환 할 수 있습니다.
add_action () 이해하기
작업은 데이터 비트에서 작동하지 않지만 템플릿 및 관리 패널에서 사전 정의 된 영역을 대상으로한다는 점에서 필터와 유사합니다. 예를 들어 페이지 내용을 업데이트하거나 편집 할 때마다 작업을 적용 할 수 있습니다. WordPress는 API 문서에서 포괄적 인 작업 목록을 제공합니다. 다음은 사전 정의 된 대상 영역 중 일부를 익히는 예제 작업 목록입니다.
- publish_post - 게시물이 게시되거나 상태가 변경 될 때 호출됩니다. “출판 된”
- save_post - 시작 / 업데이트 페이지 / 페이지가 만들어지면 호출됩니다.
- wp_head - 템플릿이로드되고
wp_head ()
기능 - loop_end - 최종 게시물이 WordPress 루프를 통해 처리 된 직후에 호출됩니다.
- trackback_post - 새 트랙백이 게시물에 추가 될 때마다 호출됩니다.
다시 말하지만이 코드가 얼마나 단순한 지 알 수 있습니다. 액션과 필터의 차이점을 이해한다면 포괄적 인 워드 프레스 플러그인을 만드는 데 훨씬 더 가깝습니다. 다음은 코드에서 액션 함수를 초기화하는 또 다른 코드 행입니다. save_post
훅. 다시 한 번 명확히하기 위해 현재 개발중인 플러그인과 관련이 없으며 예제를 이해하기위한 예제 코드로만 사용됩니다. add_action ()
기능.
add_action ( 'save_post', 'notify');
그래서 우리는 이전과 비슷한 설정을 보았습니다. add_filter ()
. 2 개의 변수가 필요합니다. 첫 번째 변수는 우리가 목표로하는 훅의 이름입니다. 이 경우 save_post
즉, 새로운 글이 저장 될 때마다 우리는 두 번째 위치에 정의 된 함수를 호출 할 것입니다.notify ()
). 당신은 분명히 어떤 함수 이름이라도 당신이 실행하기를 원한다는 것을 알리도록 업데이트 할 수 있습니다. 그러나 이것은 우리의 현재 예제 플러그인에는 필요하지 않습니다..
플러그인 논리 완성
최종 경로를 완성하면 플러그인 기능에 최종 기능을 추가 할 수 있습니다. API 문서는 매우 구체적이며 고급 질문을 보유하고있는 개발자에게 훌륭한 리소스를 제공합니다. PHP에 익숙하지 않고 개념과 시간이 오래 걸리면 자연스럽게 흐를 것입니다.!
아래 함수는 플러그인의 헤더 주석 바로 뒤에 추가해야합니다. 또는이 또한 테마의 functions.php
파일. 이 코드는 제한된 범위의 문자를 기반으로 동적 게시물 콘텐츠를 만드는 데 사용됩니다..
그래서 우리의 예제에서 우리는 이야기의 발췌 부분 만 55 자로 제한 할 수 있습니다. hk_trim_content ()
기능. 당신은 easly 사이드 바 위젯이나 테마 파일 중 하나에서이 코드를 호출하여 대체 할 수 있습니다. $ the_content
.
= $ limit) array_pop ($ content); $ content = implode ( "", $ content). '...'; else $ content = implode ( "", $ content); $ content = preg_replace ( '/\[./\]/', "$ content); $ content = apply_filters ( 'the_content', $ content);
여기에 사용 된 모든 내부 변수 또는 함수를 완전히 이해해야합니다. 함수를 작성하는 방법과 예제 세트가 어떻게 생겼는지에 대한 일반적인 이해를 얻는 것은 매우 좋은 출발입니다.
또한 Google에서 전화를 사용하고 있습니다. apply_filters
이것은 다른 WordPress 특정 기능입니다. 이것은 완전히 이해할 필요가없는 또 다른 측면이지만 WP를 통한 향후 프로그래밍에 도움이됩니다. 주제에 대한 자세한 내용과 FAQ는 apply_filters 참조 페이지를 확인하십시오..
위의 핵심 기능은 hk_trim_content ()
. 이 매개 변수는 하나의 매개 변수 만 필요합니다. $ 한도
. 이것은 또한 단축 될 수있다. $ lim
발췌를 제한 할 문자 수를 지정하는 정수를 저장해야합니다. 콘텐츠는 전체 게시물 페이지 및 정적 페이지 (Google, 연락처)에 사용됩니다..
따라서이 함수를 호출하려면 템플릿 파일에 매개 변수를 추가해야합니다. 이것은 어딘가에 배치 될 것입니다. index.php
또는 loop.php
파일을 설치해야하며 플러그인을 먼저 설치해야합니다. 아래의 예 :
플러그인 설치 및 실행
하드 코딩을 건너 뛰려면 데모 플러그인을위한 샘플 파일을 만들었습니다. 이 파일을 다운로드 (이름을 .php로 변경)하거나 코드를 새로운 PHP 문서로 복사 / 붙여 넣기하여 / wp-content / plugins
예배 규칙서.
완료되면 WordPress 관리 패널에 액세스하여 방금 설치 한 데모에 대한 현재 플러그인 세트를 찾아 볼 수 있습니다. 아무것도 활성화하지 않으면 우리는 함수 호출을 수동으로 추가 할 때까지 새로운 것이 발생하지 않습니다. 이렇게하려면 탐색하기 만하면됩니다. 모양 -> 편집기
찾아 봐 single.php
.
이 파일에는 기본 기사 게시 페이지의 모든 HTML / CSS 템플릿이 들어 있습니다. 찾을 때까지 아래로 스크롤하십시오. the_content ()
위의 예제 코드로 대체하십시오. 이렇게하면 어떤보기가 사용되는지에 관계없이 모든 기사 페이지가 55 자로 제한됩니다. 템플릿 디렉토리의 비슷한 페이지에이 함수를 추가 할 수도 있습니다. search.php
또는 archive.php
.
결론
다음은 WordPress 개발 작업을 시작하게하는 몇 가지 기본 사항입니다. 플러그인 시스템은 방대하고 많은 내부 기능을 포함합니다. 이미 플러그인에 대한 아이디어가 있다면 WordPress의 로컬 설치에서이 주제를 연습 해보십시오..
아직도 많은 정보로 혼란 스러우면 WordPress 문서를 검토하고 거기에서 답을 검색하십시오. 개발 커뮤니티는 도움이되는 사용자로 가득하며 포럼은 수년간의 질문이 담긴 아카이브를 보유하고 있습니다..