API 플러그인. API 플러그인 마인크래프트용 타사 API 플러그인 연결

플러그인은 webpack 생태계의 핵심 부분이며 커뮤니티에 webpack의 컴파일 프로세스를 활용할 수 있는 강력한 방법을 제공합니다. 플러그인은 각 컴파일 전반에 걸쳐 실행되는 주요 이벤트에 연결할 수 있습니다. 모든 단계에서 플러그인은 다음을 수행합니다. 컴파일러 및 해당하는 경우 현재 컴파일에 대한 전체 액세스 권한입니다.

플러그인 작성에 대한 높은 수준의 소개를 보려면 플러그인 작성부터 시작하세요.

webpack 플러그인 인터페이스의 백본을 제공하는 탭 가능한 유틸리티부터 살펴보겠습니다.

탭 가능

이 작은 라이브러리는 webpack의 핵심 유틸리티이지만 비슷한 플러그인 인터페이스를 제공하기 위해 다른 곳에서도 사용할 수 있습니다. webpack의 많은 객체는 Tapable 클래스를 확장합니다. 클래스는 플러그인이 컴파일 전체에서 실행될 사용자 정의 빌드 단계를 삽입하는 데 사용할 수 있는 tap , tapAsync 및 tapPromise 메서드를 노출합니다.

ProgressPlugin 의 ReportProgress 함수에 다양한 인수를 전달하여 인쇄된 출력을 사용자 정의할 수 있습니다.

진행 상황을 보고하려면 플러그인이 context: true 옵션을 사용하여 후크를 탭해야 합니다.

컴파일러. 후크. 방출하다. tapAsync (( name: "MyPlugin" , context: true ) , (context, 컴파일러, 콜백) => ( const reportProgress = context && context.reportProgress; if (reportProgress) ReportProgress (0.95, "작업 시작" ) ; setTimeout (( ) => ( if (reportProgress) reportProgress (0.95, "작업 완료" ) ; 콜백 () ; ) , 1000 ) ; ) ) ;

ReportProgress 함수는 다음 인수를 사용하여 호출할 수 있습니다.

ReportProgress(백분율, ... args);
  • 백분율: 이 인수는 사용되지 않습니다. 대신 ProgressPlugin은 현재 후크를 기준으로 백분율을 계산합니다.
  • ...args: 사용자에게 보고하기 위해 ProgressPlugin 핸들러에 전달될 문자열의 수입니다.

컴파일러 및 컴파일 후크의 하위 집합만 reportProgress 함수를 지원합니다. 전체 목록은 ProgressPlugin을 참조하세요.

벌채 반출

Logging API는 webpack 4.37 릴리스부터 사용할 수 있습니다. 통계 구성에서 로깅이 활성화되거나 인프라 로깅이 활성화되면 플러그인은 해당 로거 형식(통계, 인프라)으로 인쇄될 메시지를 기록할 수 있습니다.

  • 플러그인은 로깅을 위해 컴파일.getLogger("PluginName") 사용을 선호해야 합니다. 이러한 종류의 로깅은 통계에 저장되고 그에 따라 형식이 지정됩니다. 사용자가 필터링하고 내보낼 수 있습니다.
  • 플러그인은 로깅을 위해 컴파일러.getInfrastructureLogger("PluginName")를 사용할 수 있습니다. 인프라 로깅 사용은 통계에 저장되지 않으므로 형식이 지정되지 않습니다. 일반적으로 콘솔/대시보드/GUI에 직접 기록됩니다. 사용자가 필터링할 수 있습니다.
  • 플러그인은 로깅 지원을 감지하기 위해 특별한 대체 논리를 사용할 수 있습니다. compile.getLogger("PluginName") : 컴파일 개체에서 getLogger 메서드를 지원하지 않는 이전 웹팩 버전이 사용되는 경우에 대한 대체를 제공하는 콘솔입니다.

다음 단계

사용 가능한 모든 컴파일러 후크와 사용 가능한 매개변수의 자세한 목록은 컴파일러 후크 섹션을 참조하세요.

플러그인은 동적 로드 라이브러리(DLL)입니다. 프로그램을 설치한 후 배포판에 포함된 모든 플러그인은 해당 디렉토리에 배치됩니다. c:\Program Files (x86)\Common Files\Soft Gold\Inventory 14\Plugins\...*.abl 확장자가 필요합니다. 자동 다운로드애플리케이션이 시작될 때 지정된 디렉터리에서 플러그인을 가져옵니다. 설정에서 검색 경로를 지정하여 디스크의 다른 위치에서 플러그인을 로드할 수도 있습니다.

플러그인 API 초기화

(델파이 VCL 확장)

(ABViewer/Inventory용 플러그인 인터페이스)

(저작권 (c) 2002-2010 SoftGold 소프트웨어 회사)

{************************************************************}

단위 sgPluginItem;

상호 작용

구현

XMLDocRef: IXMLDocument = nil;

ClientRef: IXMLNode = nil;

P: 포인터 = nil;

PluginsHostWnd: HWND = 0;

PluginsHostWndName: 문자열 = "";

XMLAtomString: 문자열 = "";

절차 초기화Doc;

시작하다

// 매개변수를 사용하여 창 클래스의 고유한 이름을 가져옵니다.

PluginsHostWndName:= Format("TsgPluginsHost:%.8X:%.8X", );

// 창 자체 찾기

PluginsHostWnd:= FindWindow(PChar(PluginsHostWndName), nil);

플러그인HostWnd인 경우<>0 다음

시작하다

// 얻을 원자 문자열을 얻습니다. xml 매개변수문서

XMLAtomString:= 형식("XMLOfs%.8X%.8X",

XMLDocRef:= IXMLDocument(GetProp(PluginsHostWnd, PChar(XMLAtomString)));

할당된 경우(XMLDocRef)

시작하다

// 요소 추가 목록에

ClientRef:= XMLDocRef.DocumentElement.ChildNodes.ChildNodes.AddChild(sClient);

// Invoke 함수의 주소를 초기화합니다.

ClientRef.ChildValues["Invoke"] := IntToId(Integer(@Invoke)); // 16진수 $XXXXXXXX

끝;

끝;

끝;

초기화

공동초기화(P);

초기화Doc;

플러그인의 데모 버전 설정 및 실행

플러그인의 데모 버전은 프로그램 설치 시 자동으로 구성되며 인벤토리 실행 후 즉시 연결됩니다. 패키지에는 구성 요소의 소스 코드(프로젝트 이름 sgPlugin.dpk)와 플러그인의 데모 버전(프로젝트 이름 Plug1.dpr)이 포함되어 있습니다.

디버그 모드에서 플러그인을 실행하는 절차는 다음과 같습니다.

▪ 개방형 C:\Users\USER_NAME\Documents\Inventory 14\Plugins\Source\Delphi\Demos\Plug1\plug1.dpr

▪ 프로젝트 옵션에서 설정:

검색 경로 : "..\..\Components\PlugItem";

출력 디렉터리(예: “c:\Program Files\Common Files\Soft Gold\Inventory 14\Plugins”);

호스트 애플리케이션 다시 켜기 설치된 애플리케이션, 예: "c:\Program Files\Soft Gold\Inventory 14\Inventory 14.exe".

▪ 실행을 위해 시작합니다.

디자인 타임에 구성 요소를 사용하려면 열고 다시 빌드하고 설치해야 합니다. C:\Users\USER_NAME\Documents\Inventory 14\Plugins\Source\Delphi\Components\PlugItem\sgPlugin.dpk. 컴포넌트를 설치한 후 팔레트에서 델파이 구성 요소, TsgPluginItem 구성 요소는 디자인 타임에 사용할 수 있는 Soft Gold 탭에 나타납니다. 양식에 배치하십시오.

플러그인이 WordPress의 나머지 부분에 "연결"될 수 있도록 WordPress에서 후크가 제공됩니다. 즉, 특정 시간에 플러그인의 기능을 호출하여 플러그인을 작동하도록 설정하는 것입니다. 후크에는 두 가지 종류가 있습니다.

  1. (사본)
  2. (사본)

때로는 작업이나 필터를 사용하여 동일한 목표를 달성할 수 있습니다. 예를 들어, 플러그인이 게시물의 텍스트를 변경하도록 하려면 게시_포스트에 작업 기능을 추가하거나(게시물이 데이터베이스에 저장될 때 수정됨), 필터 기능을 the_content에 추가할 수 있습니다(게시물은 다음과 같습니다). 브라우저 화면에 표시되는 방식으로 수정됩니다.)

WP의 모든 작업 및 필터 후크에 대한 전체 목록은 Adam Brown의 WordPress Hooks Database를 참조하세요.

기능 참조

필터 기능
작업 기능
활성화/비활성화/제거 기능

행위

행위게시물 게시, 테마 변경, . 액션은 플러그인(또는 테마)에 정의된 사용자 정의 PHP 함수이며 , 즉. 이러한 이벤트 중 일부에 응답하도록 설정합니다. 작업은 일반적으로 다음 중 하나 이상을 수행합니다.

  • 데이터베이스 데이터를 수정합니다.
  • 이메일 메시지를 보냅니다.
  • 생성된 관리 화면이나 사용자 브라우저로 전송되는 프런트엔드 페이지를 수정합니다.

이를 실현하기 위한 기본 단계(아래에 자세히 설명)는 다음과 같습니다.

  1. 플러그인 파일에서 특정 WordPress 이벤트가 발생할 때 실행되어야 하는 PHP 함수를 만듭니다.
  2. 함수를 사용하여 이 함수를 이벤트에 연결합니다.
  3. PHP 함수를 플러그인 파일에 넣고 활성화하세요.

작업 기능 만들기

플러그인에서 액션을 생성하는 첫 번째 단계는 플러그인의 액션 기능을 사용하여 PHP 함수를 생성하고 이를 플러그인 파일에 넣는 것입니다(플러그인 파일은 wp-콘텐츠/플러그인예배 규칙서). 예를 들어, 새 게시물을 작성할 때마다 친구가 이메일 메시지를 받을 수 있도록 하려면 다음 함수를 정의할 수 있습니다.

함수 email_friends($post_ID) ( $friends = " [이메일 보호됨],[이메일 보호됨]"; mail($friends, "sally"의 블로그가 업데이트되었습니다.", "방금 내 블로그에 뭔가를 올렸습니다: http://blog.example.com"); $post_ID를 반환합니다. )

대부분의 작업에서 함수는 단일 매개변수(작업에 따라 일반적으로 게시물 또는 댓글 ID)를 허용해야 합니다. 일부 작업에는 두 개 이상의 매개변수가 사용됩니다. 자세한 내용은 해당 작업에 대한 설명서(사용 가능한 경우) 또는 WordPress 소스 코드를 확인하세요. 하나의 매개변수 외에도 에 액세스하고 다른 WordPress 기능(또는 플러그인 파일의 기능)을 호출할 수도 있습니다.

함수에 의한 모든 텍스트 출력(예: 인쇄)은 작업이 호출된 위치의 페이지 소스에 나타납니다.

메모: 다른 플러그인이나 워드프레스 코어에서는 여러분이 생각한 함수 이름을 이미 사용하고 있을 수도 있다는 점을 명심하세요. 자세한 내용은 다음 섹션을 참조하세요.

함수 이름 충돌 방지

누군가가 귀하의 플러그인과 동일한 이름의 함수를 사용하여 플러그인을 생성했을 가능성이 있습니다.

이는 PHP가 동일한 이름을 가진 여러 함수를 허용하지 않기 때문에 문제가 됩니다. 두 개의 플러그인이 동일한 이름의 기능을 제공하거나 플러그인이 WordPress 기능과 동일한 이름의 기능을 제공하는 경우 블로그 기능이 중단될 수 있습니다. 이 문제를 피하는 방법에는 두 가지가 있습니다.

첫 번째 해결책은 플러그인의 모든 기능에 고유한 문자 집합을 접두어로 붙이는 것입니다. 이름이 John Q. Public인 경우 함수를 function jqp_output() (...) 으로 선언할 수 있습니다. 동일한 이니셜을 가진 사람이 자신의 플러그인으로 동일한 작업을 수행할 가능성은 있지만 낮습니다.

두 번째이자 더 쉬운 해결책은 플러그인 함수를 클래스에 포함하고 클래스 메서드를 정적으로 호출하는 것입니다. 이것은 실제보다 더 복잡하게 들립니다.

위에 제공된 예제를 확장하는 이 클래스를 고려하세요.

클래스 이메일러 ( 정적 함수 send($post_ID) ( $friends = " [이메일 보호됨],[이메일 보호됨]"; mail($friends,"sally"의 블로그가 업데이트되었습니다.","방금 내 블로그에 뭔가를 올렸습니다: http://blog.example.com"); $post_ID를 반환합니다. ) ) add_action("publish_post", array("emailer", "send"));

이 클래스는 이메일 발송인방법이 있어요 보내다플러그인 기능을 구현하는 것입니다.

클래스 외부의 add_action() 함수는 WordPress에 다음을 호출하도록 지시하는 작업을 추가합니다. 보내다게시물이 게시될 때의 메소드입니다. 두 번째 매개변수에 사용된 배열은 플러그인 시스템에 "send"라는 이름의 "emailer" 클래스의 정적 메소드를 호출하도록 지시합니다.

함수 보내다클래스 선언에 의해 전역 네임스페이스로부터 보호됩니다. send()를 직접 호출하는 것은 불가능하므로 이름이 지정된 다른 함수는 보내다이것과 충돌하지 않습니다. send()를 호출하고 싶다면 다음과 같은 범위 확인 연산자를 사용해야 합니다: emailer::send()

위의 예는 정적 메소드에 대한 것입니다. 클래스의 인스턴스가 있으면 작동하지 않습니다. 인스턴스의 메서드를 호출하려면 당신은 필요인스턴스를 변수로 전달합니다. 이를 고려하여 수정된 위의 예를 고려해 보세요.

클래스 이메일러 ( 함수 send($post_ID) ( $friends = " [이메일 보호됨],[이메일 보호됨]"; mail($friends,"sally"의 블로그가 업데이트되었습니다.","방금 내 블로그에 뭔가를 올렸습니다: http://blog.example.com"); $post_ID를 반환합니다. ) ) $myEmailClass = 새 이메일 발송자(); add_action("publish_post", array($myEmailClass, "send"));

수업은 복잡한 주제입니다. 클래스에 대한 PHP 문서에서 이에 대한 자세한 내용을 읽어보세요.

WordPress에 연결

함수가 정의된 후 다음 단계는 이를 WordPress에 "연결"하거나 등록하는 것입니다. 이렇게 하려면 플러그인 파일의 전역 실행 공간을 호출하세요.

Add_action("hook_name", "your_function_name", , );

Hook_name WordPress에서 제공하는 액션 후크의 이름으로, 함수와 연결되어야 하는 이벤트를 알려줍니다. your_function_name Hook_name 에 지정된 이벤트 후에 실행하려는 함수의 이름입니다. 이는 표준 PHP 함수, ​​WordPress 코어에 있는 함수 또는 플러그인 파일에서 사용자가 정의한 함수(예: 위에 정의된 "email_friends")일 수 있습니다. 우선 순위 특정 작업과 관련된 기능이 실행되는 순서를 지정하는 데 사용되는 선택적 정수 인수입니다(기본값: 10). 낮은 번호는 먼저 실행된 것에 해당하며, 동일한 우선순위를 가진 기능은 액션에 추가된 순서대로 실행됩니다. allowed_args 함수가 허용할 수 있는 인수 수(기본값 1)를 정의하는 선택적 정수 인수입니다. 일부 후크는 함수에 두 개 이상의 인수를 전달할 수 있기 때문에 유용합니다. 이 매개변수는 릴리스 1.5.1의 새로운 기능입니다.

위의 예에서는 플러그인 파일에 다음 줄을 넣습니다.

Add_action("publish_post", "email_friends");

설치 및 활성화

필터 후크를 작동시키는 마지막 단계는 파일을 설치하고 플러그인을 활성화하는 것입니다. 작성한 PHP 함수와 호출이 함께 PHP 파일로 들어가야 하며, PHP 파일은 다음 위치에 설치되어야 합니다. wp-콘텐츠/플러그인예배 규칙서. 설치가 완료되면 WordPress의 관리 섹션을 방문하여 플러그인을 활성화해야 합니다. 자세한 내용은 참조하세요.

필터에 대한 현재 후크

활성화/비활성화/제거

플러그인에 활성화 또는 비활성화 시에만 완료해야 하는 작업이 있는 경우 작업 참조 - WordPress의 작업 후크 목록을 사용할 수 있습니다.

외부 자원

  • Adam Brown의 "WordPress Hooks Database, 모든 WordPress" 후크의 데이터베이스로, 어떤 버전에서 왔는지 표시하고 이를 사용하는 소스 코드 지점에 연결합니다. 이것이 가장 완벽합니다.
  • WordPress의 오토:

Yandex로.
"웹 서비스이므로 추가할 필요가 없습니다."

서버 소유자가 이 플러그인을 활성화하려면 특수 키가 필요합니다.
Yandex 웹사이트에 로그인하여 이 키를 얻은 다음 API 구성에 넣으세요.
무료 키는 매월 "10,000,000자"만 지원하지만 원하는 만큼 키를 생성할 수 있습니다.

사용 가능한 언어는 다음과 같습니다.

SpoilerTarget">스포일러

아제르바이잔
알바니아
영어
아라비아 말
아프리카 어
바스크 사람
벨로루시어
불가리아 사람
보스니아어
웨일스 말
헝가리 인
베트남어
아이티 섬 사람
갈리시아어
네덜란드 사람
그리스 어
그루지야 사람
덴마크 말
인도네시아 인
아일랜드의
이탈리아 사람
아이슬란드어
스페인의
칸나다어
중국인
한국인
라틴어
리투아니아 사람
마케도니아 어
몽고 어
독일 사람
네팔어
노르웨이 인
페르시아 인
광택
포르투갈 인
루마니아 사람
러시아인
세르비아 사람
슬로바키아어
슬로베니아
순다어
터키어
우즈베크어
우크라이나 인
핀란드어
프랑스 국민
힌디 어
크로아티아어
체코 사람
스웨덴어
스코틀랜드 사람
에스토니아 사람
일본어

서버에 가입하면 귀하의 언어가 서버 언어가 됩니다.
변경하려면 다음을 입력하세요. /lang(허가: 번역기.lang) 메뉴에서 언어를 선택하세요.

종속성을 추가하는 방법을 모르는 경우 여기를 읽어보세요.

개발자
Java >= 8을 사용하고 있는지 확인하세요.
빌드 경로에 JAR을 추가합니다. 그런 다음 "수동 매니페스트" 설정을 지정하고 프로젝트에 MANIFEST.MF를 생성합니다. 쓰다:

메인 클래스: your.package.Class
클래스 경로: ..\lib\Translator.jar

서버 소유자
Java >= 8을 사용하고 있는지 확인하세요.
라는 이름의 폴더를 만듭니다. lib메인 서버 루트에 JAR을 넣으세요.
또한 플러그인 폴더에 넣어야 합니다.

//플레이어 언어로 자동 번역된 메시지 보내기
p.sendMessage("§a" + Translator.translate("안녕하세요!", p));

//수동으로 번역된 메시지 보내기
p.sendMessage("§a" + Translator.translate("안녕하세요!", Language.ENGLISH, Language.ITALIAN));

//서버 언어 얻기
언어 serverLang = Translator.getServerLanguge();

//플레이어의 언어 가져오기
언어 playerLang = Translator.getPlayerLanguage(p);

  • API를 사용하는 플러그인이 활성화된 동안 API를 다시 로드하면 충돌이 발생합니다. 수동으로 문제를 해결하려면 플러그인을 언로드하고 API를 다시 로드한 후 플러그인을 로드하세요.
  • 색상 코드는 지원되지 않습니다. 이를 사용하려면 위의 예를 참조하십시오.
  • 약간의 지연(API는 원본 텍스트를 번역하고 JSON을 수신해야 함)

문제가 있으면 토론에 글을 쓰거나 개인 메시지를 통해 저에게 연락하십시오. 리뷰 섹션의 버그 보고서에는 답변하지 않습니다.

현재 이 API를 사용하는 플러그인이 없습니다. 사용하고 계시다면 말씀해 주시면 여기에 추가하겠습니다

최근 리뷰

  1. 버전: 1.0

    그란데 프레이트! Ho letto Powered by Gamehosting, quindi penso tu sia italiano? se si: sai perché daquesto errore all" avvio?

    P.s (ho letto impossibile trovare il percorso specato, ma la cartella ci sta)

    : java.io.IOException: 특정 항목에 따라 처리가 불가능합니다.
    : java.io.WinNTFileSystem.createFileExclusively(네이티브 메소드)
    : java.io.File.createNewFile(출처를 알 수 없음)
    : eu.iamgio.translator.UsersFileLoader.loadRegisterFile(UsersFileLoader.java:21)
    : eu.iamgio.translator.Translator.onEnable(Translator.java:35)
    : org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321)
    : org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340)
    : org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405)
    : org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357)
    : org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317)
    : net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414)
    : net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378)
    : net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333)
    : net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263)에서
    : net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525)에서
    : java.lang.Thread.run(출처를 알 수 없음)

2015년 말에 출시되었습니다. 그러나 대체로 고급 개발자들만이 이 제품이 얼마나 강력한지 알아보는 데 시간을 투자했습니다.

WordPress REST API 패키지는 모든 최신 업데이트를 통합하여 테마, 모바일 앱 등에 통합할 수 있는 내장 API를 제공합니다. 즉, 개발자는 데이터 관리에서 프런트 엔드 인터페이스를 분리하여 모든 애플리케이션이 WordPress와 상호 작용할 수 있도록 합니다. 이 도구의 작동 방식을 배우면 WordPress 사이트를 확장할 수 있는 거의 무한한 가능성의 문이 열릴 수 있습니다.

이 글에서는 WordPress REST API 프로젝트를 소개하고, 이것이 왜 좋은지 설명하고, 사용에 대한 몇 가지 아이디어를 제공합니다. 그러니 시간을 낭비하지 말고 시작해 보세요!

WordPress REST API 소개

WordPress REST API 프로젝트(Representational State Transfer의 REST)는 WordPress가 완전한 애플리케이션 플랫폼이 되기 위한 조치를 취하고 있음을 확인합니다. WordPress의 핵심에 표준 REST API를 추가하기 때문에 그 존재는 매력적입니다.

이 프로젝트는 2013년 개발자 Ryan McCue와 Rachel Baker가 개발자를 위해 GitHub에 처음 업로드했습니다. 독립적인 REST API 플러그인은 압도적인 지지를 받고 기능 개선에 기꺼이 노력하는 거의 100명의 기여자를 유치한 후 2015년 12월 WordPress 코어에 구축되었습니다.

WordPress REST API가 핵심의 일부가 되면서 그 효율성이 입증되었습니다. 다음은 프로젝트에 대한 명확성과 영감을 위한 몇 가지 실제 예입니다.

  1. Event Espresso는 REST API를 사용하여 개발자에게 글로벌 인프라에 대한 액세스를 제공하고 서비스를 사용하여 애플리케이션을 개발할 수 있도록 합니다.
  2. Simmer를 사용하면 개발자가 API에 액세스하여 기능을 본격적인 기능으로 확장할 수 있습니다. 모바일 앱또는 테마를 사용자 정의합니다.
  3. JoinIn은 REST API를 사용하여 자체적인 "삽입 가능한" 위젯을 제공하여 표시될 때마다 관련 데이터를 채웁니다.

이는 REST API의 혁신적인 목적에 관한 빙산의 일각에 불과합니다. 그러나 REST API 자체가 어떻게 작동하는지 살펴보겠습니다.

WordPress REST API 작동 방식

즉, REST API는 데이터베이스나 사용자 인터페이스에 직접 액세스하지 않고도 한 위치에서 다른 위치로 텍스트 데이터를 조작하여 작동합니다. API(애플리케이션 프로그래밍 인터페이스)에는 다양한 유형이 있지만 REST는 여전히 현대적이고 관련성이 높은 표준으로 남아 있습니다.

REST API는 JSON(JavaScript Object Notation) 형식을 사용하여 HTTP(Hyper Text Transfer Protocol) 액세스 포인트를 통해 전송됩니다. 간단히 말해서, 이러한 기술은 고유한 웹 주소를 사용하여 JavaScript 개체처럼 작동하는 데이터를 전달하는 API에 대한 액세스를 제공합니다.

JavaScript 또는 해당 개체 정의를 사용해 본 적이 없다면 JSON의 기본 사항을 알아보세요. 이제 REST API의 개념을 조금 정리했으니 WordPress를 사용하여 개발 프로세스에 어떻게 큰 영향을 미칠 수 있는지 이야기해 보겠습니다.

WordPress REST API는 개발자에게 무엇을 의미하나요?

WordPress REST API는 WordPress 설치와 웹 서버 또는 사용자의 모든 애플리케이션을 통합하는 범용 통합자입니다. 운영 체제. 궁극적으로 이는 구축할 수 있는 항목에 대한 유일한 한계를 의미합니다. 워드프레스 사용, 그것은 우리의 상상일 뿐이다. 모든 플랫폼이나 언어로 작성된 애플리케이션을 만들고 WordPress를 사용하여 REST API를 통해 데이터를 처리할 수 있습니다. 개방적이고 친근한 WordPress 커뮤니티는 엄청난 기회를 제공합니다.

REST API는 점점 더 많은 관심을 받고 있는 JavaScript를 기반으로 하며, 이는 어떤 프로그래밍 언어를 알아야 하는지 힌트를 줍니다. 곧 서버 측 JavaScript가 새로운 PHP라는 사실을 알게 될 것입니다. 이는 완전히 JavaScript와 REST API에서 실행되는 WordPress.com의 새로운 소프트웨어인 Calypso에서 이미 볼 수 있습니다.

애플리케이션(WordPress 코어 포함)이 WordPress 데이터와 상호 작용하는 방식을 표준화함으로써 WordPress 개발이 더 쉽고 직관적이 될 것입니다. 또한 타사 플랫폼과의 통합도 용이해집니다.

지금 이 기술을 사용하는 방법을 배우기 시작하는 것이 왜 중요한지 더 많은 이유를 가지셨기를 바랍니다. 이제 자신의 작업에 REST API를 사용하기 위한 첫 번째 단계를 밟아야 할 때입니다!

WordPress REST API를 시작하는 5단계

앞에서 설명한 것처럼 REST API는 HTTP 리소스를 호출할 수 있는 모든 애플리케이션이나 프로그래밍 언어와 함께 사용할 수 있습니다. 명령줄을 사용하여 REST API 요청을 만드는 데 중점을 두겠습니다. 이는 학습 프로세스를 방해할 수 있는 오류가 발생할 가능성이 가장 적은 가장 간단한 방법이기 때문입니다.

이렇게 하려면 컴퓨터에서 명령줄 인터페이스(Command Line Interface CLI)를 사용하여 프로그램을 열어야 합니다. 단말기 macOS 또는 Linux에서 명령줄 Windows에서. CLI를 사용하면 정보를 요청하고 처리하기 위해 추가 스크립트를 작성할 필요 없이 REST API와 직접 상호 작용할 수 있습니다. CLI에서 작성하는 모든 요청은 PHP, JavaScript 또는 다른 언어의 스크립트일 수 있지만 방법은 각각 다릅니다. CLI에서 명령을 직접 실행합니다. 원하는 명령을 입력하고 Enter를 누르세요.

또한 실제 사이트에서 이러한 단계를 시도하기보다는 데모 사이트를 설정하거나 로컬에서 테스트하는 것이 좋습니다. 마지막으로 한 가지 조건은 사이트의 WordPress 버전이 4.4 이상이라는 것입니다. 준비가 되었다면 시작해 보세요!

1단계: REST API의 기본 개념 알아보기

시작하기 전에 REST API의 주요 개념을 숙지해 보겠습니다. 숙지해야 할 기본 개념과 용어는 다섯 가지뿐입니다. 그것들을 살펴보자:

  1. 경로('경로') 및 리소스 또는 액세스 지점('엔드포인트').이것이 REST API를 이해하는 데 가장 중요한 측면입니다. 경로는 특정 HTTP 메서드(예: 정적 데이터 세트 또는 작업)가 특정 경로에 연결될 때 리소스 간을 탐색하는 데 도움이 됩니다. 예를 들어 /wp-json/은 사용 가능한 경로를 표시하기 위해 생성된 리소스로 구성된 경로입니다.
  2. 요청.이는 올바른 리소스를 실행하고 데이터를 전달하여 생성됩니다.
  3. 답변 (응답).즉, 요청한 데이터를 제공하거나 오류를 반환하여 문제가 있음을 알리는 것입니다.
  4. 스키마.다음은 템플릿 답변이므로 필요한 데이터를 찾을 수 있는 위치를 항상 정확히 알 수 있습니다.
  5. 컨트롤러 클래스.이를 통해 자신만의 경로와 리소스를 만들 수 있습니다. 걱정할 필요가 없다면 나중에 더 유용해질 것입니다.

이러한 다섯 가지 개념을 이해하고 나면 액세스 포인트부터 시작하여 REST API 자체에 대해 더 깊이 알아볼 수 있습니다.

2단계: 가장 유용한 REST API 액세스 포인트 찾기

WordPress REST API는 자신에게 가장 유용한 것을 찾을 수 있는 모든 액세스 포인트(리소스)가 포함된 참조 핸드북을 제공합니다. 우선, HTTP REST API 호출을 구성하는 방법을 알아야 합니다. WordPress API 호출의 기본 부분은 다음과 같습니다. yourdomain.com당신에게 :

http://yourdomain.com/wp-json/

자체 URL을 사용하여 CLI에서 컬 명령을 실행하여 연결을 테스트할 수 있습니다.

컬 -X 옵션 -i http://yourdomain.com/wp-json/

당신은 다음의 메시지로 인사를 받아야 합니다. HTTP. 일부 기본 리소스를 사용하여 이 명령을 추가로 수정할 수 있습니다. 이제 우리는 컬의 GET 버전을 사용합니다.

WordPress에서 게시물의 JSON 목록을 얻으려면 다음을 사용할 수 있습니다.

그런 다음 다음을 시도하여 기존 WordPress 페이지를 모두 확인하세요.

컬 -X GET -i http://yourdomain.com/wp-json/wp/v2/pages

CLI에서 이러한 각 액세스 포인트(및 그 이상)를 실험하여 각 액세스 포인트가 어떤 응답을 생성하는지 확인할 수 있습니다.

3단계: REST API 인증의 기본 사항 알아보기

이제 인증에 대해 알아볼 차례입니다. REST API의 일부 작업과 데이터는 공개되어 있지만 다른 작업과 데이터는 관리자로 로그인해야 합니다. 하지만 이는 REST API이므로 인증을 위해 로그인할 수 있는 곳이 없습니다. 대신 게시되지 않은 게시물 보기, 게시물 변경 등 관리자 액세스가 필요한 요청 중에 인증할 수 있습니다.

WordPress REST API 기본 인증 플러그인을 설치하는 것부터 시작해 보겠습니다. 이는 개발자가 REST API를 빠르게 배울 수 있는 간단한 플러그인이며 실제 웹사이트용은 아닙니다. 그러나 설치 과정은 다른 플러그인과 동일합니다.

기본 인증이 설치되면 플래그를 사용하여 CLI를 통해 인증할 수 있습니다. 사용자. 다음은 사용자 인증 방법을 적용하는 방법의 예입니다. 곱슬 곱슬하다게시되지 않은 게시물을 보려면 다음 단계를 따르세요.

Curl -X GET --사용자 사용자 이름:비밀번호 -i http://yourdomain.com/wp-json/wp/v2/posts?status=draft

공개 정보 열람 이외의 작업에는 인증이 필요합니다. 기본 인증을 익힌 후에는 개발을 위해 REST API 문서에서 권장하는 다른 옵션을 탐색할 수 있습니다.

4단계: REST API를 사용하여 첫 번째 WordPress 게시물 선택

컬을 사용하여 기본 REST API 호출을 수행하는 방법을 이해한 후에는 특정 항목을 선택해 보십시오. 먼저 앞서 했던 것처럼 모든 발행물을 표시해 보겠습니다.

컬 -X GET -i http://yourdomain.com/wp-json/wp/v2/posts

게시물, 페이지 또는 분류를 표시하려는 경우 모든 REST API 리소스에 대해 이 ID 부록 트릭을 사용할 수 있습니다.

5단계: REST API를 통해 WordPress 게시물 변경

마지막으로 선택한 출판물을 변경해 보겠습니다. 명령 대신 옵션또는 얻다, 이번에는 우편변경합니다. 얻다데이터를 읽는 데 사용됩니다. 우편- 보내려고요.

요청을 제출하여 게시물 이름을 바꾸자 우편인증 데이터와 함께. 플래그를 사용하여 새로운 변경사항이 적용됩니다. 명령 끝에. 우리는 사용자의 자바스크립트 객체제목 변수를 다음과 같은 값으로 설정하여 나의 새 타이틀아래 코드에 표시된 대로:

Curl -X POST --사용자 사용자 이름:비밀번호 http://yourdomain.com/wp-json/wp/v2/posts/ -d "("title":"내 새 제목")"

사용자 이름, 비밀번호, 게시물 ID 및 제목을 자신의 것으로 바꾸십시오. 해당 출판물을 다시 선택하여 변경 사항을 확인할 수 있습니다.

컬 -X GET -i http://yourdomain.com/wp-json/wp/v2/posts/

축하해요! 방금 WordPress REST API를 사용하여 첫 번째 관리자 편집을 수행했습니다. 물론, 이 기본 가이드는 REST API가 제공하는 기능의 표면적인 부분만 다루었을 뿐이지만 꽤 견고한 시작입니다!

결론

WordPress REST API는 WordPress 코어의 강력한 새 버전이며 많은 개발자가 이미 해당 기능을 사용하기 시작했습니다. 따라서 이제 작업 방법에 익숙해졌습니다. 새로운 기회, 프로그래밍 기술을 향상시키고 WordPress를 프레임워크로 사용하여 애플리케이션을 만들 수 있습니다.

요약하자면, WordPress REST API와 상호 작용하는 방법을 배우는 과정에서 5단계를 거쳤습니다.

  1. 기본 REST API 개념을 소개합니다.
  2. 가장 유용한 리소스/REST API 액세스 포인트.
  3. REST API 인증의 기본 사항을 알아보세요.
  4. REST API를 사용하여 WordPress에서 게시물을 검색합니다.
  5. REST API를 사용하여 WordPress 게시물을 수정합니다.

WordPress REST API에 대해 어떤 질문이 있나요? 의견을 보내주세요!