기능마다 WordPress는 블로그 시스템과 애플리케이션 개발 시스템의 맨틀을 떨어 뜨리는 경향이 있습니다. 이 변화를 향한 첫 번째 눈에 띄는 단계는 2.9 버전의 맞춤 게시물 유형

오늘날 변화는 WordPress REST API.

이 튜토리얼에서는 WordPress REST API가 무엇인지 살펴보고 사용 방법을 보여 드리겠습니다.

그러나 이전에 WordPress discover를 설치 한 적이 없다면 코멘트 설치 해제 워드 프레스 블로그 7 단계로 et 어떻게 찾아 설치하고 블로그에 워드 프레스 테마를 활성화하려면 

그럼 왜 우리가 여기 있는지로 돌아가 봅시다

REST API 란?

간단히 말해서, WordPress REST API를 사용하면 그래픽 인터페이스를 거치지 않고도 WordPress의 핵심과 상호 작용할 수 있습니다. 이것은 커널과 GUI의 분리를 의미합니다. 이 API를 사용하면 예를 들어 새 기사를 만들 수 있습니다. 계기판. REST API는 4.4 월에 XNUMX 버전이 출시되면 커널에 포함됩니다.

이 튜토리얼의 주제의 특성을 감안할 때 PHP 언어와 WordPress에 대한 좋은 지식이 필요합니다.

이 튜토리얼에 필요한 것

REST API를 시작하려면 플러그인이 필요합니다. REST API 최신 버전의 WordPress. 가지고 있니? 그렇지 않다면 왜 참조WordPress HTTP API에 대한 지식은 원격 호출에 좋은 회사가 될 것입니다.

이 링크를 클릭하여 발견하십시오 WordPress에 플러그인을 설치 (추가)하는 방법

이 튜토리얼 프로젝트로 우리 WordPress의 로컬 설치를 생성합니다 REST API를 통해 웹 사이트에서 기사를 검색합니다. 프로덕션 웹 사이트에서 REST API 플러그인을 설치하고 활성화했는지 확인하십시오.

이제 위젯 로컬 설치에서. 기본 코드는 다음과 같습니다.

/**
 * Plugin Name: REST API Widget Essai
 * Plugin URI: http://le-site-de-votre-widget-ici.com
 * Description: Ce widget récupère des articles à l'aide de l'API REST
 * Version: 1.0
 * Author: Votre nom
 * Author URI: http://votre-site.com
 */

class Mes_Articles_Widget extends WP_Widget {

    public function __construct() {
        $widget_details = array(
            'classname' => 'widget-essai-rest-api',
            'description' => 'Un widget qui récupère des articles à l'aide de l'API REST depuis un autre site'
        );

        parent::__construct( 'widget-essai-rest-api', 'REST API Widget Essai', $widget_details );

    }

    public function form( $instance ) {
        $title = ( !empty( $instance['title'] ) ) ? $instance['title'] : '';
        ?>

        <p>
            <label for="<?php echo $this->get_field_name( 'title' ); ?>">Title: </label>
            <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
        </p>

        <?php
    }
    public function widget( $args, $instance ) {
        echo $args['before_widget'];
        if( !empty( $instance['title'] ) ) {
            echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'];
        }
        // le code fonctionnel du widget ici
        echo $args['after_widget'];
    }
}
add_action( 'widgets_init', function(){
     register_widget( 'Mes_Articles_Widget' );
});

로컬 웹 사이트의 플러그인 디렉토리에서 이름이 지정된 폴더를 작성하십시오. 위젯 테스트 - 휴식 - API를. 이 폴더에서 파일을 만듭니다 위젯 테스트 - 휴식 - api.php 위의 코드를 붙여 넣습니다.

그건 그렇고 VersionPress를 사용하여 WordPress 버전을 관리하고 복원하는 방법

이 코드에는 플러그인 헤더 (코드 시작 부분의 주석)가 포함되어있어 WordPress에 플러그인임을 알 수 있습니다. 다음은 위젯을 만들기위한 최소 코드이며 몇 줄씩 늘어납니다. 

우리는 기능에 더 중점을 둘 것입니다 위젯 (), 위젯의 디스플레이가이 안에 있기 때문입니다. 따라서 HTTP API를 사용하여 호출하는 것은이 함수 내부에 있습니다.

기사 검색

제작 웹 사이트 또는 온라인 웹 사이트를 조회하려면 몇 가지 정보가 필요합니다. 이것들은 우리 온라인 웹 사이트의 워드 프레스 핵심에 제기되는 질문을 구성 할 것입니다. 기본 API 경로, 사용 된 경로, 사용 된 종료, 헤더 및 매개 변수입니다.

발견하여 예시적인 이미지를 승화 WordPress 블로그에서 대화 형 이미지를 만드는 방법

기본 WordPress REST API 경로는 항상 / WP-JSON / WP / v2 /. 따라서, 전체 경로는 것 http://votre-domaine.com/wp-json/wp/v2/.

항목을 검색하는 데 사용되는 경로는 / 게시물. 기사의 완전한 경로를 만드는 것은 http://votre-domaine.com/wp-json/wp/v2/posts.

각 경로에는 사용 된 HTTP 방법에 따라 구분되는 여러 종료가있을 수 있습니다. 따라서 기사의 경로는 / 게시 / 291. 이 도로 3 엔딩 :

바로 : 기사 검색
PUT : 기사 업데이트
삭제 : 기사를 삭제합니다.

HTTP API 및 GET 종료를 사용하여 기사 검색은 한 줄의 코드로 내려갑니다.

$response = wp_remote_get( 'http://mysite.com/wp-json/wp/v2/posts/' );

발견하여 기사를 대중화하십시오 워드 프레스에 공유 버튼을 추가하는 방법

답변이 객체 인 경우 WP_Error, 함수 실행을 종료합니다. 위젯 ()그렇지 않다면, 우리는 함수를 사용하여 답의 본문 내용을 검사합니다. wp_remote_retrieve_body JSON 형식으로 인코딩 된 기사를 찾습니다. 이것이 함수의 모습입니다. 위젯 ()  :

 public function widget( $args, $instance ) {
    $response = wp_remote_get( 'http://mysite.com/wp-json/wp/v2/posts/' );

    if( is_wp_error( $response ) ) {
        return;
    }

    $posts = json_decode( wp_remote_retrieve_body( $response ) );

    if( empty( $posts ) ) {
        return;
    }   
    echo $args['before_widget'];

    if( !empty( $instance['title'] ) ) {
        echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'];
    }
    if( !empty( $posts ) ) {
        echo '<ul>';
        foreach( $posts as $post ) {
            echo '<li><a href="' . $post->link. '">' . $post->title->rendered . '</a></li>';
        }
        echo '</ul>';
    }
    echo $args['after_widget'];
}

이 예에서 흥미로운 것은 함수를 대체하여 wp_remote_get 그렇지 않으면이 예제는 WordPress의 범위를 벗어납니다. 즉, Joomla, Prestashop, Drupal, Android 또는 IOS와 같은 다른 플랫폼에서 WordPress 코어를 쿼리 할 수 ​​있습니다.

이것들을 발견하여 더 나아가십시오. 웹 사이트를 모바일 애플리케이션으로 바꾸는 8 WordPress 플러그인

따라서 WordPress 백 오피스에 연결된 기본 모바일 애플리케이션을 만들 수 있습니다. REST API는 WordPress를 애플리케이션 개발 플랫폼으로 전환합니다.

REST API로 더 나아가

데이터와 상호 작용할 목적으로 WordPress 코어를 쿼리하는 것은 사용량의 90 %를 구성합니다. 그러나 탐색하기에 흥미로운 몇 가지 영역이 여전히 있습니다. 캐시 된 응답, 인증 및 서비스 검색.

응답 캐싱

예제의 기사와 같은 정보를 검색 할 때 캐시하는 것이 좋습니다. 서버. 이를 달성하기위한 다양한 접근 방식이 있습니다. JP REST API 캐시라고도 명명되는 플러그인 캐시, 및 과도.

일시적인 아이디어는 만료 날짜가있는 정보를 로컬로 복사하는 것입니다. 기본적으로 복사본은 데이터베이스에 있지만 일부 구현에서는 메모리로 직접 복사 할 수 있으므로 복원 작업이 더욱 빨라집니다.

이것들도보십시오 웹 사이트 캐싱을 최적화하는 7 프리미엄 워드 프레스 플러그인

정보는 만료 될 때까지 로컬 데이터베이스에서 검색된 다음 원격 웹 사이트에서 다시 호출됩니다. 다음은 일시적인 개념을 포함하는 위젯의 수정 된 버전입니다 (새 기능 포함) :

public function get_remote_posts() {
    $posts = get_transient( 'remote_posts' );
    if( empty( $posts ) ) {
        $response = wp_remote_get( 'http://votre-domaine.com/wp-json/wp/v2/posts/' );
        if( is_wp_error( $response ) ) {
            return array();
        }

        $posts = json_decode( wp_remote_retrieve_body( $response ) );

        if( empty( $posts ) ) {
            return array();
        }

        set_transient( 'remote_posts', $posts, HOUR_IN_SECONDS );
    }

    return $posts;
}

public function widget( $args, $instance ) {
    $posts = $this->get_remote_posts();

    if( empty( $posts ) ) {
        return;
    }
    
    echo $args['before_widget'];

    if( !empty( $instance['title'] ) ) {
        echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'];
    }

    echo '<ul>';
    foreach( $posts as $post ) {
        echo '<li><a href="' . $post->link. '">' . $post->title->rendered . '</a></li>';
    }
    echo '</ul>';

    echo $args['after_widget'];

}

입증

외부 리소스로 작업 할 때 자신을 식별하는 것이 좋습니다. 이는 인증 프로세스를 통해 수행됩니다. REST API는 기본 인증과 OAuth라는 두 가지 방법으로 자신을 식별합니다.

기본 인증 : 두 가지 방법 중이 방법이 더 간단합니다. 각 요청과 함께 사용자 이름과 비밀번호를 보내는 것으로 구성되며 이는 큰 보안 위험을 수반합니다. 이러한 이유로 가능한 한 프로덕션에 사용해서는 안됩니다.

기본 인증을 사용하려면 플러그인을 설치하고 활성화해야합니다. 기본-인증. 그런 다음 인증 된 호출을 수행하려면 다음을 사용하여 헤더를 선언하십시오. 기본 전화를 겁니다.

$headers = array (
    'Authorization' => 'Basic ' . base64_encode( 'username:password' ),
);

$response = wp_remote_request( 'http://votre-domaine.com/wp-json/wp/v2/posts/1234/', array(
    'method' => 'DELETE',
    'headers' => $headers
));

또한보십시오 WordPress에 이중 요소 인증을 추가하는 방법

웹 사이트에서 시도하면 ID가 1234 인 기사가 존재하는 경우 삭제되므로이 예제에주의하십시오..

OAuth를 :이 방법은 여전히 ​​문서의 관점에서 모호하므로 플러그인을 설치하고 활성화해야합니다. OAuth1. 이 인증 방법의 구현에는 다음의 설치 및 조합 사용이 포함됩니다. WP-CLI, WordPress 용 명령 줄 및 WP CLI 클라이언트.

명령 줄 인터페이스의 도입은 그 자체로는 문제가되지 않지만 문제인 것은 명령 목록의 부족입니다.

서비스 발견

API 학습의 일부는 옵션에 익숙해지고 있습니다. 그래서 나는 당신이 부분을 확인하는 것이 좋습니다 서비스 발견 WordPress REST API 문서에서.

기사, 게시물 유형, 미디어, 메타 데이터와 상호 작용하는 방법은 물론 사용자를 삭제할 수 없거나 기타 사소한 문제와 같은 불규칙성을 찾을 수 있습니다.

이것은 이미 매우 흥미로운 진행중인 작업임을 기억하십시오.

누가 WordPress REST API를 사용합니까?

모든 것에 개척자가 있으며 WordPress REST API도 예외는 아닙니다. 다음은 젊음에도 불구하고 API를 사용하는 몇 안되는 회사의 목록입니다.

만든 사람 API를 사용하여 프론트 엔드에 더 유연한 것을 원하는 고객을위한 웹 사이트를 구축하십시오.

WP 라이브 검색 검색 기능에 API를 사용하는 무료 플러그인입니다.

editus 프론트 엔드 편집 기능에 API를 사용하는 프리미엄 플러그인입니다.

D' 애프터 누가 이것을 사용하고 있습니까? 다른 사람들과 회사는 모바일 애플리케이션을 구축하기 위해 WordPress REST API를 구현하고 있습니다.

젊음에도 불구하고 WordPress REST API는 WordPress를 애플리케이션 개발 플랫폼으로 전환하는 주요 기능으로 큰 가능성을 가지고 있습니다.

WordPress REST API도 사용하고 있습니까?  주제에 대한 인상을 남기고 싶습니다.

그것이 제공하는 기회를 어떻게 찾습니까? 의견 섹션에서 귀하의 반응을 우리와 공유하십시오.

프리미엄 워드 프레스 플러그인도 만나보세요  

당신은 다른 것을 사용할 수 있습니다 워드 프레스 플러그인 현대적인 외관을 제공하고 블로그 또는 웹사이트의 처리를 최적화합니다.

우리는 여기에 당신을 도울 수있는 프리미엄 WordPress 플러그인을 제공합니다.

1. WordPress의 궁극적 인 리디렉션

"WordPress Ultimate Redirect"플러그인은 모든 리디렉션, 404, 사이트 마이그레이션 및 / 또는 도메인 변경 또는 이전 요구를 관리하는 데 필요한 유일한 솔루션입니다.

Wordpress 궁극적 인 리디렉션 플러그인

플러그인이 수행하는 작업을 수행하는 플러그인이 있지만 모두 동시에 수행하지는 않습니다. 이 플러그인은 모든 일반적인 404 리디렉션 기능과 함께 우리가 가장 좋아하는 "가장 가까운 URL 일치로 자동 리디렉션"을 제공합니다.

다운로드 | 데모 | 웹 호스팅

2. Leadeo

방문 페이지에서 동영상을 사용하면 전환 수가 80 % 이상 향상 될 수 있습니다. 46 % 이상인 판매 페이지에서도 마찬가지입니다. Leadeo를 사용하면 블로그에서 비디오를 시청하는 사람들로부터 더 많은 리드와 판매를 얻을 수 있습니다.Leadeo

이 플러그인 덕분에 비디오를 만들다 타겟 고객에게 유용하며 이메일을 통해 소셜 네트워크 및 연락처 목록에 공유하고 광고를 보낼 수 있습니다. 그러면 사람들은 그 영상을 보고 좋아할 것입니다.

동영상이 예상되는 관심을 생성하기 때문에 시청 한 사람들에게 다음과 같은 혜택이 제공됩니다.

  • 좋은 팁을 얻으려면 이메일 목록에 가입하십시오
  • 너에게 연락하기 위해
  • 당신이 비디오에서 말한 흥미로운 것을 공유
  • 친구들과 비디오를 공유
  • 클릭 유도 문안 버튼을 클릭하십시오.
  • 및 기타

이러한 모든 작업은 비디오 오른쪽에 제공됩니다.

다운로드 | 데모 | 웹 호스팅

3. CommentPress

CommentPress는 주석을 빠르고 쉽게 삽입, 편집 및 삭제할 수있는 강력한 WordPress 컴팩트 플러그인입니다. CommentPress는 Ajax, jQuery 및 PHP를 사용하여 방문자가 페이지를 다시로드하지 않고도 주석을 삽입 할 수 있도록합니다.Commentpress ajax 주석 삽입 편집 및 삭제 주석

이 플러그인에는 많은 사용자 정의 옵션이 있으며, 최종적으로 원하는 모양과 느낌을줍니다. 스팸을 차단하는 보안 문자가 있으며 댓글 섹션에 더 많은 보안을 제공합니다.

주요 기능은 다음과 같습니다. 간편한 댓글 삽입, 사용자가 특정 댓글에 응답 할 수있는 가능성, 댓글 페이지 매김, 댓글 섹션 관리의 완전한 관리, 이미지 삽입을위한 버튼, 비디오 및 링크, 완벽하게 반응하는 레이아웃, 양식을 보호하고 스팸을 방지하는 Captcha 등이 있습니다.

다운로드 | 데모 | 웹 호스팅

추천 자료

웹 사이트 구축 및 관리에 도움이되는 기타 권장 리소스에 대해 알아보십시오.

결론

여기에! 이 튜토리얼은 끝났습니다. 이 튜토리얼이 WordPress REST API를 사용하는 방법을 보여 주었기를 바랍니다. 주저하지 말라. 이 기사를 좋아하는 소셜 네트워크에서 친구들과 공유하십시오

그러나 귀하는 우리와 상담 할 수 있습니다. 능숙, 인터넷 사이트 제작 프로젝트를 수행하는 데 더 많은 요소가 필요하면 워드 프레스 블로그 제작.

제안이나 의견이 있으면 섹션에 남겨주세요 commentaires.

...