WordPress에서 외부 API를 소비하십니까?


9

WordPress 웹 사이트를 보유한 고객이 있으며 새로운 기능을 추가하기 위해 확장하고 싶습니다. 이러한 기능은 내가 이미 수행 한 웹 사이트 (일부 필터가있는 데이터베이스를 통한 일종의 검색 엔진)에 포함되어 있으며 새로운 기능이 향상되었습니다.

내가 할 계획은 내 웹 사이트의 json api (데이터베이스에 대한 모든 검색 기능 포함)를 만들고 wordpress 웹 사이트 가이 api를 소비하게하는 것입니다. 그런 다음 검색 결과를 표시하는보기 만 작성하면됩니다.

문제는 WordPress를 전혀 모른다는 것입니다 (나를 위해 관리자 패널을 통해 기사를 추가 할 수있는 곳입니다 ...). 그리고 우리가 자체 서버 측 코드를 작성할 수있는 방법을 모르겠습니다. Google에서 검색하여 "plugin"이라는 것을 찾았지만 가능한지 궁금하고 다른 방법으로 코드를 사용할 필요가 없으므로 가장 간단한 방법인지 궁금합니다. 파티. PHP 파일을 추가하기 위해 WordPress 설치를 해킹 할 수 있다면 필요한 것을 코딩하십시오 (동일한 WordPress CSS를 사용하는 뷰) 더 간단하지만 가능한지 모르겠습니다.


정확히 무엇을하려고합니까, 워드 프레스로 json 피드를 읽고 데이터베이스에 데이터를 삽입하고 XML-RPC를 통해 게시하고 더 명확하게 시도하십시오.
Wyck

JSON 피드를 읽으십시오. 예를 들어, 워드 프레스 사이트에는 검색 양식이 포함되어야합니다. 제출시 api에 대한 호출을 수행하고 api는 json으로 오브젝트를 리턴
하며이

1
@ tahir 나는이 일을하려고합니다. 목표 달성 방법을 공유 할 수 있습니까?
SAHM

답변:


9

도움이되거나 혼란을 줄 수있는 WordPress 개발에 대한 간단한 입문서 :

명심해야 할 것은 모두 PHP 일뿐입니다. 또한 최신 버전으로 업데이트 할 때 문제가 발생하므로 WordPress의 핵심 파일을 편집하지 마십시오. 편집해야 할 유일한 코드는 플러그인과 테마의 코드입니다.

기존 페이지에만 무언가를 추가해야하는 경우 올바른 테마 파일 만 편집하면됩니다. 그러나 고급 작업을 수행해야하는 경우 (예 : 특정 URL에서와 같이 추가 "보기"를 추가하는 것이 WordPress에서 더 고급 임) 워드 프레스 부팅 프로세스에서 이전에로드 할 위치에 코드를 추가해야합니다. .

그 이유는 WordPress가 URL을 기반으로 항상 사용자를 대신하여 사후 쿼리를 수행하기 때문입니다. 당신이 간다 /category/banana/, 그것은 카테고리의 게시물을 쿼리합니다banana 하고 반복하여 표시 해야하는 올바른 템플릿 파일을로드합니다. 그러나으로 이동하면 /custom-view/WordPress에서 게시물을 찾지 못하고 404 템플릿을로드하므로 복구하기 쉬운 방법이 없습니다!

어떤 사람들은 "스텁 페이지 (stub pages)"를 만들어서 이것을 해결합니다. 그들은 콘텐츠가 중요하지 않은 WordPress에 페이지를 생성합니다. 템플릿 만 있습니다. 이것은 hackish이지만 작동합니다. 깔끔한 방법은 여분의 다시 쓰기 규칙 을 정의하는 것입니다 하여 WordPress /custom-view/에 유효한 URL이지만 다른 일이 발생해야한다는 것을 알 수 있습니다.

이렇게하려면 핵심 WordPress 시스템 에 연결 해야 합니다. 여기서 중요한 부분은 에 후크 가 아닌 수정 . 워드 프레스에는 액션필터가 있습니다. 액션은 단지 발표일뿐입니다 ( "이제, 현재 <head>태그를 작성 중 입니다. 다른 것도 추가하겠습니까?" ). 필터를 사용하면 변수를 수정할 수 있습니다 ( "이것은 게시물 제목입니다. 수정하려면 새 값을 반환하십시오" ). 물론, 요령은 사용해야 할 동작과 필터를 아는 것입니다. 이것은 선택한 방식 (스텁 페이지 또는 새로운 다시 쓰기 규칙)에 따라 다르므로 여기서는 자세히 설명하지 않겠습니다.

플러그인 파일 또는 테마 의 functions.php 파일 에서 사용하려는 조치 및 필터를 정의합니다 . 메인 쿼리가 실행되기 전에 WordPress가 부팅되는 동안로드되는 점에서 특별 합니다. 플러그인 파일은 wp-content/plugins/특정 헤더를 가진 디렉토리 에있는 PHP 파일 일 뿐이 므로 WordPress에서 해당 이름을 읽고 사용 및 사용 중지 할 수있는 관리 영역에 표시 할 수 있습니다. 비활성화하십시오).


2

기초

플러그인과 테마에 대한 기본 사항을 살펴 봐야합니다. 간단히 말해서 : 워드 프레스 핵심 기능에 추가되었습니다. 일반적으로 "플러그인" 은 기능에 관한 것이고 "테마" 는 "보기"에 관한 것입니다. "Plugin API"에 대해 조금 읽어보고 싶을 수도 있습니다 .

JSON

코어에 내장 된 json2 스크립트 를 사용하여 "안전한"API를 제공 할 수 있습니다.

JSON 예

나머지는 다음과 같습니다.

$response = json_encode( array( 
     'data' => $your_output 
) );
header( "Content-Type: application/json" );
echo $response;

XML RPC

Codex에는 "XML Rpc" 에 대한 내용도 있습니다 .

HTTP API

또 다른 가능성은 http 요청 일 수 있습니다 . 링크 맨 아래에있는 참조를 읽으십시오.


웹 후크

이것은 소비 가능한 API를 제공 하는 것에 관한 것이므로 추가 입니다. 여기에 설명 하십시오 . 또한 이 작업을 수행하는 HookPress 라는 플러그인도 있습니다. 저자의 일부 슬라이드 도 있습니다.


1

나는 당신이 PHP를 알고 있다고 가정합니까? 아니면 그것은 장벽이기도합니까?

기본적으로 WordPress의 플러그인은 WordPress 핵심에서 인식하고 처리 할 수 ​​있도록 PHP 코드를 패키지화하는 방법입니다. 기능이 아닌 형식입니다.

실제 기능에 관해서는 거의 임의의 PHP를 실행할 수 있지만 호환성과 안정성을 위해 WP의 API를 사용하는 것이 좋습니다.

WP와 관련하여 코드를 include기술적으로 생각하십시오. 거기에서 WordPress에 맞게 다시 작성되는 양을 결정하는 것은 사용자의 요구와 자원의 범위입니다.


0

네 가능합니다.

대부분의 플러그인은 hooks를 통해 생성됩니다.

예를 들면 다음과 같습니다.

add_action("hook", "function")

일단 그 프레임 워크가 어떻게 작동하는지 알면 스스로 플러그인을 구축하는 것은 매우 쉽습니다 .... PHP는 가장 체계적인 것은 아니지만 지식을위한 가장 광범위한 장소로 자신을 농장 화하는 것이 좋습니다. net)은 워드 프레스 코덱스 입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.