WordPress 플러그인 보일러 플레이트 101 : 시작하는 방법

약 10 년 전에 WordPress 플러그인이 시작된 이래로 우리가 작성하는 방식에는 큰 변화가 없었습니다. 기본적으로 헤더 다음에 Wild West가있는 기본 플러그인 파일이 있습니다. 후크 사용 외에도 플러그인을 만드는 표준화 된 방법은 없습니다.


반드시 문제는 아닙니다. 관리 프레임 워크가 필요없는 간단한 플러그인이 많이 있으며 완벽하게 일관된 절차 코드를 작성할 수있는 사람들이 있습니다. 즉, 플러그인의 코드 품질은 일반적으로 최고가 아니며 프레임 워크 또는 방법론은 그것을 높이는 데 먼 길을 갈 것입니다..

이 기사에서는 가능한 해결책 중 하나를 살펴 보겠습니다. 워드 프레스 플러그인 보일러 플레이트. 표준화 된 플러그인을 생성하는 객체 지향 방식 인 플러그인 개발의 출발점입니다. OOP 원칙으로 코딩되어 있기 때문에 주로 중간 코더를위한 것이지만, 어디로 가는지 아는 경우 초보자로 쉽게 사용할 수 있습니다. 이 기사가 끝날 무렵 코딩 경험에 관계없이 무엇을 어떻게 시작할 수 있는지 알아야합니다..

일반적인 파일 구조

상용구는 Github 저장소로 사용되므로 주 디렉토리에는 Github 저장소에서 일반적으로 사용되는 파일이 포함됩니다. README.md 파일은 일반적인 추가 정보이며 기본 리포지토리 페이지에 설명으로 표시됩니다. CHANGELOG.md 파일은 버전과 .gitignore 파일 사이의 변경 사항을 기록하는 데 사용되며 파일 작업시 git이 무시해야하는 파일을 설정하는 데 사용됩니다.

여기서 plugin-name의 기본 폴더는 플러그인이 저장된 위치입니다. 그 구조는 WordPress 리포지토리를 따르며 "체크인" 이 폴더를 SVN 플러그인 저장소에 저장하십시오. 기본적으로 플러그인의 이미지와 스크린 샷을 저장하는 자산 폴더와 플러그인 코드가 포함 된 트렁크 폴더가 포함됩니다..

트렁크 폴더에는 플러그인이 포함되어 있습니다.이 폴더를 WordPress 설치에 붙여넣고 플러그인을 활성화 할 수 있습니다. 이 폴더의 내용을 나중에 자세히 살펴 보겠습니다. 그렇게하기 전에 가게를 세우자.

새로운 플러그인

모두 설정

이 모든 폴더와 SVN / Git 굉장함을 한곳에 모아 두는 것이 모두 좋지만 실제로 어떻게 사용할 수 있습니까? 전체 폴더를 플러그인 폴더로 바로 확인할 수는 없으며 작동하지 않습니다. 트렁크 디렉토리 만 체크 아웃하는 것은 번거롭고 해당 디렉토리 외부의 파일에 액세스 할 수 없습니다.

내가 가장 좋아하는 설정 방법을 보여 드리겠습니다. 내 컴퓨터에는 다음 구조의 폴더가 있습니다.

  • 깃 허브
    • 최고 저자
    • 손쉬운 이미지
    • 트위터 사용자 타임 라인
  • html
    • wp-admin
    • wp- 콘텐츠
    • wp- 포함
    • 다른 워드 프레스 파일
  • 워드 프레스
    • 최고 저자
    • 손쉬운 이미지
    • 트위터 사용자 타임 라인

html 폴더는 WordPress가 설치된 위치입니다. github 폴더에는 Github의 모든 WordPress 플러그인이 포함되어 있습니다. wordpress 폴더에는 SVN을 통해 WordPress 저장소에서 가져온 동일한 플러그인이 포함되어 있습니다..

심볼릭 링크 만들기

첫 번째 단계는 Github에서 바닐라 버전의 WordPress Plugin Boilerplate을 만드는 것입니다. 그런 다음 github 폴더로 확인하십시오. 다음으로 WordPress 설치의 wp-content / plugins 디렉토리에있는 트렁크 폴더 사이에 심볼릭 링크를 만듭니다..

Symlinks는 예상대로 대상으로 확인되는 파일 또는 폴더에 대한 참조입니다. 그 결과 시스템의 어느 곳에서나 WordPress 디렉토리로 플러그인을 symlink하면 정상적으로 작동합니다. 이를 통해 다음과 같은 이점이 있습니다.

  • 다른 곳에 플러그인을 저장할 수 있습니다.
  • 더 큰 저장소 내에서 폴더를 심볼릭 링크 할 수 있습니다.
  • 동일한 플러그인을 여러 설치로 심볼릭 링크 할 수 있습니다.

터미널이나 Windows의 명령 프롬프트에서 심볼릭 링크를 쉽게 만들 수 있습니다. 하나를 열고 WordPress 설치의 plugins 디렉토리로 이동하는 것이 좋습니다. 그런 다음 다음 명령을 입력하십시오.

# OSX 또는 Linux의 경우
ln -s / absolute / path / to / github / My-Plugin-Name / my-plugin-name / trunk my-plugin-name

# Windows의 경우
mklink / j C : \ absolute \ path \ to \ github \ My-Plugin-Name 내 플러그인 이름

첫 번째 경로에서 두 번째 경로로의 링크를 만듭니다. 첫 번째 경로는 Github 리포지토리의 트렁크 디렉토리에 대한 절대 경로입니다. 두 번째는 WordPress 설치의 plugins 디렉토리에있을 때 연결하려는 폴더의 이름입니다..

완료되면 위 이미지와 같이 새 플러그인이 표시됩니다. 맞춤 설정해야하지만 이제 Github 저장소에서 플러그인을 실행하여 개발 제비 더 쉬움.

이름 바꾸기

트렁크 디렉토리에는 많은 폴더와 파일이 있습니다. 이름을 바꾸겠습니다. 우선, 대시와 대문자를 사용하여 저장소 이름을 지정하는 것이 좋습니다. My-Awesome-Plugin. 내부의 기본 폴더 이름은 ‘my-awesome-plugin’입니다. 플러그인 전체에서이 규칙을 사용하는 것이 좋습니다..

OSX에서는 파일 이름을 쉽게 바꿀 수 있습니다. 모든 폴더를 열고 문자열 이름이 plugin-name 인 모든 파일을 선택하십시오. 마우스 오른쪽 버튼을 클릭하여 14 개 파일의 이름을 모두 바꾸고 로트의 이름을 바꿉니다.

이름을 바꾸다

Windows에서는 조금 더 어려울 것입니다. HowToGeek 자세한 내용은 기사를 참조하거나 하나씩 이동하십시오..

같은 용어 "플러그인 이름" 다른 변형도 파일 내용 전체에 퍼져 있습니다. 당신이 사용할 수있는 숭고한, Atom.io 또는 여러 다른 파일 내에서 대량 대체 할 수있는 다른 텍스트 편집기. 다음은 대체해야 할 사항의 목록입니다 (대소 문자 구분 검색 바꾸기를 수행하십시오).

  • plugin_name my_awesome_plugin이되어야합니다
  • Plugin_Name My_Awesome_Plugin이되어야합니다
  • 플러그인 이름 내 멋진 플러그인이되어야한다

완료되면 기본 파일의 헤더 주석 (my-awesome-plugin.php)을 작성하여 필요에 따라 사용자 정의하십시오..

목차

WordPress Plugin Boilerplate에는 많은 것이 포함되어 있습니다. 아이디어는 물건을 넣을 수있는 곳에 대한 엄격한 지침을 설정하는 것입니다. 후크를 추가 할 특정 장소가 하나 있습니다 (예 : 프런트 엔드 기능을 추가하는 표준 장소 등). 프레임 워크의 주요 부분을 살펴 보겠습니다.

include / class-my-awesome-plugin.php와 같이 파일 이름이 바뀔 때 파일을 참조합니다. 플러그인의 이름을 다른 것으로 변경 한 경우 파일 이름에서 가장 멋진 플러그인 부분이 달라진다는 점을 기억해야합니다.

활성화, 비활성화 및 제거

플러그인이 활성화 될 때 실행하려는 모든 코드는 include / my-awesome-plugin-name-activator.php에 있어야합니다. 이 파일에는 My_Awesome_Plugin_Activator라는 클래스가 있으며 여기에는 사용해야하는 activate () 메소드가 있습니다..

아직 물건의 속도를 늦추지 않아도 걱정할 필요가 없습니다. 물건을 넣을 위치를 알면 시작하기에 충분합니다..

비활성화시 실행해야하는 코드는 include / my-awesome-plugin-name-deactivator.php에 있어야합니다. My_Awesome_Plugin_Deactivator 내의 activate () 메소드는 사용해야합니다.

이것이 너무 복잡하다고 생각하십니까? 나는 당신을 비난하지 않습니다! 객체 지향 개념을 사용하기 시작하면 절차상의 코드보다 이점이 있습니다. 다른 것이 없다면, 그것은 그 자체로 큰 도움이되는 코드를 넣을 수있는 매우 확실한 장소를 제공합니다..

제거를 위해 권장되는 방법은 WordPress Plugin Boilerplate이하는 uninstall.php를 사용하는 것입니다. 코드는 해당 파일의 맨 아래에 배치해야합니다.

후크 추가

후크는 WordPress Plugin Boilerplate에서 놀랍게 처리되지만 처음에는 다루기가 쉽지 않을 수 있습니다. 모든 후크는 include / class-my-awesome-plugin.php에 있어야합니다. 보다 구체적으로, My_Awesome_Plugin 클래스 내에서 두 가지 방법으로 :

  • 프론트 엔드에서 사용되는 후크를 추가 할 때 define_public_hooks ()
  • 백엔드에서 사용되는 후크를 추가 할 때 define_admin_hooks ()

평소와 같이 add_action () 또는 add_filter ()를 사용하는 대신 약간 다르게해야합니다. 게시물 내용을 수정하는 방법은 다음과 같습니다..

$ this->짐을 싣는 사람->add_action ( ‘the_content’, $ plugin_public, ‘modify_post_content’);

첫 번째 매개 변수는 후크의 이름이고 두 번째 매개 변수는 공용 또는 관리 오브젝트에 대한 참조입니다. 공개 후크의 경우 $ plugin_public이고 관리자 후크의 경우 $ plugin_admin이어야합니다. 세 번째 매개 변수는 후크 기능입니다.

더 복잡한 것처럼 보이지만 후크 추가를 완전히 표준화하여 프로세스에서 두 그룹으로 나눕니다..

공개 및 관리자 콘텐츠

WordPress Plugin Boilerplate는 후크를 관리자 / 공개 그룹으로 나누지 만 그게 전부는 아닙니다. 공용 폴더에 공개 코드를 작성하고 관리 폴더에 관리 코드를 작성하도록 요청하여 모든 코드를 동일한 방식으로 분할합니다..

두 폴더 모두 css, js 및 partials 폴더를 포함합니다. 사용 된 CSS / JS 자산을 이러한 폴더에 배치하고 템플리트 및 기타 재사용 가능한 HTML 비트를 partials 폴더에 작성해야합니다. partials 폴더에 새 파일을 만들어도 상관 없습니다.!

후크 된 함수는 해당 디렉토리의 클래스 내의 해당 폴더에도 작성해야합니다. modify_post_content 함수를 위의 the_content에 연결하면 WordPress Plugin Boilerplate에 위치를 알려줍니다. 이것을 공개면에 추가 했으므로 WordPress Plugin Boilerplate은 공개 폴더에있는 My_Awesome_Plugin_Public 클래스 내에 정의 될 것으로 예상합니다. 클래스 내에서이 함수를 작성하고 평소와 같이 다른 모든 것을 작성하십시오..

자원과 의존성

다음과 같은 외부 리소스를 사용하려는 경우 TGM 플러그인 활성화, 포함 폴더에 추가해야합니다. TGM은 class-tgm-plugin-activation.php라는 단일 파일로, load_dependencies () 메서드 내에서 class-my-awesome-plugin.php 파일에 포함되어야합니다.

require_once plugin_dir_path (dirname (__FILE__)). ‘includes / class-tgm-plugin-activation.php’;

개요

모든 파일 이름과 기능에 혼란이 있습니까? 걱정하지 마십시오. 매우 빨리 중단됩니다. 실제로, 보통 세 개의 파일 만 수정합니다.

  • includes / class-my-awesome-plugin.php는 모든 후크와 의존성을 추가하는 곳입니다..
  • public / class-my-awesome-plugin-public.php는 모든 공개 기능을 추가하는 곳입니다.
  • admin / class-my-awesome-plugin-admin.php는 모든 관리자 관련 기능이있는 곳입니다..

처음에는 워드 프레스 플러그인을 사용하면 보일러 플레이트가 번거 로워 보일 수 있지만 결국에는 돈을 지불하게됩니다. 1 년 후 다시 돌아와서 모든 것이 어디에 있는지 알 수 있으며, 플러그인 개발이 제품 전체에 걸쳐 표준화 될 것이며 다른 개발자들도 현재 진행 상황을 파악할 수있을 것입니다..

마지막으로 간단한 위젯을 제공하는 플러그인에는 그러한 프레임 워크가 필요하지 않을 수도 있습니다. WordPress Plugin Boilerplate을 사용하면 플러그인 속도가 느려지지 않지만 필요한 몇 가지 간단한 코드 줄만 있으면보기가 방해됩니다.!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map