2014-03-27 5 views
2

나는 Wordpress 플러그인을 작업 해 왔고 나는 보통 내 자신의 REST 엔드 포인트 (레일 등)를 작성하는 배경에서 왔습니다. 내 질문은 어떻게 WP 플러그 인에서 나머지 URL 끝점을 만들 수 있습니까?Wordpress 커스텀 REST API

예 :

/myplugin/저장 - 튜토리얼 (POST는 JSON을 받아 반환 JSON) /myplugin/GET-튜토리얼 식 (GET 반환 JSON)

가 어떻게 같은 REST 엔드 포인트를 만들려면 어떻게해야합니까? ? 나는 admin-ajax.php를 살펴 봤는데, 그게 옳은 것 같지만, 여전히 꽤 엉망이다. 그것은 간단한 문제처럼 보입니다. my-plugin.php에서 응답을 처리하고 싶습니다.

미리 감사드립니다.

+1

아직 나에 의해 구현하지만,에, 당신의 도움이 될 수있는이 플러그인 http://wordpress.org/plugins/json-rest-api/을 발굴하지 않음 API의 엔드 포인트를 작성하십시오. –

+0

예, 플러그인에 대한 설명을 올바르게 이해했다면, 플러그인이 JSON 엔드 포인트를 일반 페이지 용으로 만 작성하는 것이 아닙니까? WP 용 사용자 정의 프론트 엔드를 사용할 수 있습니까? –

+0

내가 연구하고 싶다. (http://wordpress.stackexchange.com/search?q=rest+endpoint) – brasofilo

답변

1

이 목적으로 add_rewrite_endpoint()을 사용해야합니다. 이 함수는 제공된 비트 마스크에 의해 지정된 일치하는 각 자리에 대해 추가 다시 쓰기 규칙을 만듭니다. 예를 들어 : add_rewrite_endpoint('json', EP_PERMALINK | EP_PAGES);

는 고유 주소 (우편) 또는 페이지를 설명 모든 permastruct 에 대한 json(/(.*))?/?$로 끝나는 새로운 재 작성 규칙을 추가합니다. 이것은 json=$match 으로 다시 작성됩니다. $ match는 끝점 정규식과 일치하는 URL의 일부입니다 (예 : , <permalink>/json/foo/).

당신은 또한 당신은 워드 프레스에서 휴식 API를 등록

register_rest_route (string $namespace, string $route, array $args = array(), bool $override = false) 

기능을 사용할 수 있습니다이 가이드 https://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/

+1

내 Backbone.js 앱에 실제 엔드 포인트를 사용하는 대신 이것을 해결했다. Wordpress에서, 그리고 JSON-RPC API를 사용했습니다. 다음은 링크입니다 : http://codex.wordpress.org/Function_Reference/add_action –