Hết tính năng này đến tính năng khác, WordPress có xu hướng bỏ lớp vỏ của hệ thống viết blog xuống lớp của hệ thống phát triển ứng dụng. Bước đầu tiên đáng chú ý đối với sự thay đổi này là phần giới thiệu các loại bài tùy chỉnh trong phiên bản 2.9 của nó.

Ngày nay, sự chuyển đổi tiếp tục với sự xuất hiện của API REST của WordPress.

Trong hướng dẫn này, tôi sẽ hướng dẫn bạn qua WordPress REST API là gì và chỉ cho bạn cách sử dụng nó.

Nhưng trước đây, nếu bạn chưa bao giờ cài đặt WordPress khám phá Làm thế nào để cài đặt một blog WordPress trong 7 bước et Làm thế nào để tìm kiếm, cài đặt và kích hoạt một chủ đề WordPress trên blog của bạn 

Vậy thì hãy quay lại với lý do tại sao chúng ta ở đây

API REST là gì

Nói một cách đơn giản, hãy hiểu rằng WordPress REST API cho phép bạn tương tác với cốt lõi của WordPress mà không cần thông qua giao diện đồ họa của nó. Điều này có nghĩa là sự tách rời của hạt nhân và GUI. Với API này, ví dụ: bạn có thể tạo một bài viết mới mà không cần phải truy cập vào tableau de bord. API REST sẽ được đưa vào nhân khi phiên bản 4.4 được phát hành vào tháng XNUMX.

Với bản chất của chủ đề của hướng dẫn này, bạn cần phải có kiến ​​thức tốt về ngôn ngữ PHP và WordPress.

Chúng ta cần gì cho hướng dẫn này

Để bắt đầu với REST API, bạn sẽ cần plugin REST API cũng như phiên bản mới nhất của WordPress. Bạn có nó ? Nếu không, xem tại saoKiến thức về WordPress HTTP API cũng sẽ là những công ty tốt để thực hiện các cuộc gọi từ xa.

Khám phá bằng cách nhấp vào liên kết này Cách cài đặt (thêm) plugin trên WordPress

Là một dự án cho hướng dẫn này, chúng tôi sẽ tạo một bản cài đặt cục bộ của WordPress từ đó chúng tôi sẽ lấy các bài báo từ trang web của mình thông qua API REST. Đảm bảo rằng bạn đã cài đặt và kích hoạt plugin REST API trên trang web sản xuất.

Bây giờ, tạo một phụ tùng trong cài đặt địa phương của bạn. Đây là mã cơ bản:

/**
 * 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' );
});

Trong thư mục plugin của trang web địa phương của bạn, hãy tạo một thư mục có tên widget thử nghiệm còn lại-api. Trong thư mục này, tạo một tệp có tên widget thử nghiệm còn lại-api.php và dán mã ở trên.

Nhân tiện khám phá Cách quản lý và khôi phục phiên bản WordPress với VersionPress

Mã này chứa tiêu đề plugin (các nhận xét ở đầu mã) cho phép WordPress biết rằng đó là một plugin. Tiếp theo là mã tối thiểu để tạo một widget, tăng thêm một vài dòng. 

Chúng tôi sẽ nhấn mạnh hơn vào chức năng phụ tùng (), bởi vì chính bên trong này, màn hình của tiện ích được tạo ra. Do đó, bên trong hàm này, chúng ta sẽ thực hiện các lệnh gọi bằng HTTP API.

Truy xuất bài viết

Chúng tôi sẽ cần một số thông tin để truy vấn trang web sản xuất hoặc trang web trực tuyến. Những điều này theo một cách nào đó sẽ tạo thành câu hỏi đặt ra cho cốt lõi WordPress của trang web trực tuyến của chúng tôi. Đây là đường dẫn API cơ bản, đường dẫn được sử dụng, phần cuối được sử dụng, tiêu đề và các tham số.

Làm thăng hoa hình ảnh minh họa của bạn bằng cách khám phá Cách tạo hình ảnh tương tác trên blog WordPress

Đường dẫn API REST WordPress cơ bản luôn / Wp-json / wp / v2 /. Do đó, đường dẫn đầy đủ sẽ http://votre-domaine.com/wp-json/wp/v2/.

Lộ trình được sử dụng để lấy các mục là / bài viết. Điều gì làm cho lộ trình hoàn chỉnh cho bài viết là http://votre-domaine.com/wp-json/wp/v2/posts.

Mỗi tuyến đường có thể có một số điểm cuối, được phân biệt bằng phương thức HTTP được sử dụng. Do đó, lộ trình của một bài báo có thể / Bài viết / 291. Con đường này có 3 kết thúc:

GET : để lấy bài báo
PUT : để cập nhật bài viết
DELETE : để xóa bài viết.

Sử dụng API HTTP và kết thúc GET, việc truy xuất các bài viết sẽ nằm trong một dòng mã:

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

Làm cho bài viết của bạn trở nên phổ biến bằng cách khám phá Làm thế nào để Thêm nút chia sẻ trên WordPress

Nếu câu trả lời là một đối tượng WP_Error, chúng tôi kết thúc việc thực thi chức năng của mình phụ tùng ()nếu không, chúng ta kiểm tra nội dung của câu trả lời với hàm wp_remote_retrieve_body tìm kiếm các bài báo được mã hóa ở định dạng JSON. Đây là chức năng trông như thế nào phụ tùng ()  :

 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'];
}

Điều thú vị trong ví dụ này là bằng cách thay thế hàm wp_remote_get nếu không, ví dụ này sẽ nằm ngoài phạm vi của WordPress. Điều này có nghĩa là bạn có thể truy vấn lõi WordPress từ bất kỳ nền tảng nào khác, có thể là Joomla, Prestashop, Drupal, Android hoặc IOS.

Đi xa hơn bằng cách khám phá những Các plugin 8 WordPress để biến trang web của bạn thành một ứng dụng di động

Do đó, bạn có thể tạo một ứng dụng di động gốc được kết nối với văn phòng hỗ trợ WordPress. API REST biến WordPress thành một nền tảng phát triển ứng dụng.

Tiến xa hơn với REST API

Truy vấn lõi WordPress cho mục đích tương tác với dữ liệu chiếm 90% việc sử dụng nó. Nhưng vẫn còn một vài lĩnh vực mà bạn có thể khám phá: lưu trữ phản hồi, xác thực và khám phá dịch vụ.

Phản hồi lưu trữ

Khi chúng tôi truy xuất thông tin chẳng hạn như các bài báo trong ví dụ của chúng tôi, cách tốt là nên lưu chúng vào bộ nhớ cache, tức là sao chép chúng ở đâu đó trên thiết bị đầu cuối gọi để tránh các cuộc gọi khác có cùng thông tin đến máy chủ. Các cách tiếp cận khác nhau tồn tại để đạt được điều này bao gồm JP REST API CACHE, các bộ nhớ cache bổ sung, và tạm thời.

Ý tưởng nhất thời là sao chép thông tin cục bộ với ngày hết hạn. Theo mặc định, bản sao sẽ nằm trong cơ sở dữ liệu, nhưng một số triển khai cho phép sao chép trực tiếp vào bộ nhớ, giúp thao tác khôi phục thậm chí còn nhanh hơn.

Xem thêm Các plugin WordPress cao cấp 7 để tối ưu hóa bộ nhớ đệm của trang web của bạn

Sau đó, thông tin được truy xuất từ ​​cơ sở dữ liệu cục bộ cho đến khi hết hạn, ở đó, thông tin được thu hồi từ trang web từ xa. Đây là phiên bản sửa đổi của tiện ích con của chúng tôi bao gồm khái niệm tạm thời (với một chức năng mới):

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'];

}

Xác thực

Khi làm việc với các nguồn lực bên ngoài, nên xác định chính mình. Điều này được thực hiện thông qua quá trình xác thực. API REST cung cấp cho bạn hai phương pháp để xác định chính mình: Xác thực cơ bản và OAuth.

Xác thực cơ bản : trong hai phương pháp, phương pháp này đơn giản hơn. Nó bao gồm việc gửi tên người dùng và mật khẩu của bạn với mỗi yêu cầu, điều này mang lại rủi ro bảo mật lớn. Vì lý do này, nó KHÔNG nên được sử dụng trong sản xuất càng nhiều càng tốt.

Để sử dụng xác thực cơ bản, bạn phải cài đặt và kích hoạt plugin Basic-Auth. Sau đó, để thực hiện một cuộc gọi đã xác thực, hãy khai báo tiêu đề với Căn bản và thực hiện cuộc gọi:

$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
));

Xem thêm Cách thêm xác thực nhân tố kép trên WordPress

Hãy cẩn thận với ví dụ này, vì nếu bạn thử nó trên trang web của mình, bạn sẽ xóa bài viết có ID 1234 nếu nó tồn tại..

OAuth : Phương pháp này, vẫn không rõ ràng từ quan điểm của tài liệu yêu cầu bạn cài đặt và kích hoạt plugin OAuth1. Việc triển khai phương pháp xác thực này bao gồm việc cài đặt và sử dụng kết hợp WP-CLI, một dòng lệnh cho WordPress và WP CLI Khách hàng.

Bản thân việc giới thiệu các giao diện dòng lệnh không phải là một vấn đề, nhưng việc thiếu danh sách lệnh mới là vấn đề.

Khám phá dịch vụ

Một phần của việc học bất kỳ API nào là làm quen với các tùy chọn của nó. Vì vậy, tôi khuyên bạn nên xem phần trên khám phá dịch vụ của tài liệu WordPress REST API.

Ở đó, bạn sẽ tìm thấy các phương pháp tương tác với các bài báo, loại bài đăng, phương tiện, siêu dữ liệu cũng như các bất thường như không thể xóa người dùng hoặc các mối quan tâm nhỏ khác.

Hãy nhớ rằng đây là một công việc đang được tiến hành rất thú vị.

Ai sử dụng WordPress REST API?

Trong tất cả mọi thứ đều có những người tiên phong, WordPress REST API cũng không ngoại lệ. Dưới đây là danh sách ngắn về một số công ty sử dụng API, bất chấp tuổi trẻ của nó:

Nhân tạo sử dụng API để xây dựng trang web cho những khách hàng muốn thứ gì đó linh hoạt hơn cho giao diện người dùng.

WP Search Live là một plugin miễn phí sử dụng API cho các chức năng tìm kiếm của nó.

editus là một plugin cao cấp sử dụng API cho các chức năng chỉnh sửa giao diện người dùng của nó.

D'après Ai đang sử dụng thứ này? những người và công ty khác đang triển khai WordPress REST API để xây dựng các ứng dụng di động.

Mặc dù còn non trẻ nhưng WordPress REST API vẫn hứa hẹn rất nhiều như một tính năng chính trong việc chuyển đổi WordPress thành một nền tảng phát triển ứng dụng.

Bạn cũng đang sử dụng WordPress REST API?  Chúng tôi muốn có ấn tượng của bạn về chủ đề này.

Làm thế nào để bạn tìm thấy những cơ hội mà nó mang lại? Chia sẻ phản ứng của bạn với chúng tôi trong phần bình luận của chúng tôi.

Khám phá thêm một số plugin WordPress cao cấp  

Bạn có thể sử dụng cái khác plugin WordPress để tạo ra một giao diện hiện đại và để tối ưu hóa việc xử lý blog hoặc trang web của bạn.

Chúng tôi cung cấp cho bạn ở đây một số plugin WordPress cao cấp sẽ giúp bạn làm điều đó.

1. Chuyển hướng cuối cùng của WordPress

Plugin "WordPress Ultimate Redirect" là giải pháp duy nhất bạn cần để quản lý tất cả các chuyển hướng, 404, di chuyển trang web và / hoặc nhu cầu chuyển hoặc thay đổi tên miền.

Plugin chuyển hướng cuối cùng của Wordpress

Có những plugin làm được những gì mà plugin làm, nhưng không phải tất cả cùng một lúc. Plugin này cung cấp tất cả các chức năng chuyển hướng 404 thông thường, cùng với tính năng “tự động chuyển hướng đến đối sánh URL gần nhất” yêu thích của chúng tôi.

Tải về | Bản demo | Web hosting

2. Leadeo

Bạn có biết rằng sử dụng video trên Trang đích của bạn có thể cải thiện chuyển đổi nhiều hơn 80%. Tương tự như vậy trên các trang bán hàng với hơn 46%. Leadeo có thể giúp bạn có thêm khách hàng tiềm năng và doanh số từ những người xem video trên blog của bạn.Leadeo

Nhờ plugin này, bạn có thể làm một đoạn phim hữu ích cho đối tượng mục tiêu, chia sẻ nó trên mạng xã hội và danh sách liên hệ của bạn qua email và gửi một số quảng cáo. Như vậy mọi người sẽ xem video và thích nó.

Vì video khơi dậy sự quan tâm mong đợi, những người đã xem nó được cung cấp:

  • đăng ký danh sách email của bạn để nhận các mẹo hay
  • liên lạc với bạn
  • chia sẻ một điều thú vị mà bạn đã nói trong video
  • chia sẻ video với bạn bè của họ
  • nhấp vào nút kêu gọi hành động của bạn
  • và khác

Và tất cả các hành động này được đưa ra ngay bên phải video.

Tải về | Bản demo | Web hosting

3. CommentPress

CommentPress là một plugin WordPress nhỏ gọn mạnh mẽ cho phép bạn chèn, chỉnh sửa và xóa nhận xét nhanh chóng và dễ dàng. CommentPress sử dụng Ajax, jQuery và PHP để cung cấp cho khách truy cập khả năng chèn nhận xét mà không phải tải lại trang.Commentpress ajax bình luận chèn chỉnh sửa và xóa bình luận

Plugin này có nhiều tùy chọn tùy chỉnh, cuối cùng mang lại cho nó giao diện mà bạn muốn. Nó có một hình ảnh xác thực để chặn thư rác và mang đến cho phần bình luận của bạn bảo mật hơn.

Các tính năng chính của nó là: dễ dàng chèn nhận xét, khả năng người dùng trả lời các nhận xét cụ thể, phân trang các nhận xét, quản lý hoàn toàn việc quản lý phần nhận xét, các nút để dễ dàng chèn hình ảnh, video và liên kết, bố cục đáp ứng đầy đủ, Captcha để bảo mật biểu mẫu và ngăn chặn spam, v.v.

Tải về | Bản demo | Web hosting

Tài nguyên đề xuất

Tìm hiểu về các tài nguyên được đề xuất khác để giúp bạn xây dựng và quản lý trang web của mình.

Kết luận

Có! Đó là nó cho hướng dẫn này. Chúng tôi hy vọng hướng dẫn này đã chỉ cho bạn cách sử dụng API REST của WordPress. thoải mái để chia sẻ bài viết này với bạn bè của bạn trên các mạng xã hội yêu thích của bạn

Tuy nhiên, bạn cũng sẽ có thể tham khảo ý kiến ​​của chúng tôi ressources, nếu bạn cần thêm các yếu tố để thực hiện các dự án tạo trang Internet của mình, bằng cách tham khảo hướng dẫn của chúng tôi về Tạo blog WordPress.

Nếu bạn có đề xuất hoặc nhận xét, hãy để lại trong phần của chúng tôi ý kiến.

...