Hướng dẫn lập trình theme WordPress – Phần 4: WordPress Api là gì?

Home / Hướng dẫn lập trình theme WordPress – Phần 4: WordPress Api là gì?
Trong phần trước mình đã hướng dẫn các bạn tạo custom menu trong WordPress. Phần này mình sẽ giới thiệu các bạn khái niệm về Api và sâu hơn về WordPress Api

1.API là gì?

API là viết tắt của Application Programming Interface, được hiểu là giao diện lập trình ứng dụng. API là một phương tiện giúp cho hai hay nhiều ứng dụng khác nhau có thể trao đổi, tương tác với nhau. Trên thực tế, API là công cụ để tạo ra các tương tác người – máy hiệu quả và tiện lợi.

Thông qua API, các lập trình viên có thể dễ dàng tiếp cận và truy xuất dữ liệu từ máy chủ để thể hiện lên trên ứng dụng, phần mềm hoặc website của họ.

Ví dụ: bạn đang viết một phần mềm cho Windows 10 và bạn muốn phần mềm của mình tương tác được với các dịch vụ, tính năng của Windows. Từ thấp cấp như thay đổi hình nền, điều khiển con lăn, thanh cuộn hay bất cứ thứ gì liên quan tới GUI (giao diện người dùng), đến cao cấp như truy cập tệp tin hệ thống, chỉnh sửa registry hoặc các thư viện hệ thống, tắt/bật các dịch vụ (services), .v.v… Tất cả những tác vụ đó đều có thể thực hiện được thông qua Windows API miễn phí cho sẵn của Microsoft.

API đã có từ rất lâu và được ứng dụng trong rất nhiều loại ứng dụng, phần mềm khác nhau. Thế hệ mới nhất của API, Web API, có thể được sử dụng trong mọi hệ thống như: hệ điều hành, cơ sở dữ liệu (CSDL), hệ thống nền web (web-based system), thư viện ứng dụng hay thậm chí là trong phần cứng máy tính.

2.Cách gọi API trong WordPress.

Có 3 cách gọi API trong WordPress

2.1.wp_remote_post

<?php 
$args = array(
    'timeout'     => 5,
    'redirection' => 5,
    'httpversion' => '1.0',
    'user-agent'  => 'WordPress/' . $wp_version . '; ' . home_url(),
    'blocking'    => true,
    'headers'     => array(),
    'cookies'     => array(),
    'body'        => null,
    'compress'    => false,
    'decompress'  => true,
    'sslverify'   => true,
    'stream'      => false,
    'filename'    => null
); 
$response = wp_remote_get( $url, $args ); 
?>
 

 

Trong đó:

  • $url: Là URL API
  • $args: Là 1 mảng các tham số truyền vào, tuỳ theo yêu cầu của API mà ta truyền thêm, còn bình thường chúng ta đều để trống. Thường thì chúng ta sẽ tuỳ chỉnh thời gian “Timeout“
    Timeout là thời gian đợi phản hồi khi ta gọi API, ví dụ chúng ta muốn lấy lấy tỉ giá từ API của Vietcombank, nhưng vì 1 lý do nào đó ( VCB nợ lương, sysadmin tắt server chẳng hạn ), nếu bạn set timeout quá dài thì website chúng ta cứ đợi phản hồi từ VCB mà không load tiếp dữ liệu khác của website dẫn đến bị trắng trang, hoặc để quá ngắn thì website chưa kịp connect thì đã close, thì làm sao lấy được dữ liệu về. Trong WordPress nếu chúng để trống, thời gian timeout mặc định là 5s

2.2.wp_remote_get

<?php
$args = array(
    'timeout'     => 5,
    'redirection' => 5,
    'httpversion' => '1.0',
    'user-agent'  => 'WordPress/' . $wp_version . '; ' . home_url(),
    'blocking'    => true,
    'headers'     => array(),
    'cookies'     => array(),
    'body'        => null,
    'compress'    => false,
    'decompress'  => true,
    'sslverify'   => true,
    'stream'      => false,
    'filename'    => null
); 
$response = wp_remote_get( $url, $args );
?>

Cách sử dụng cũng không khác gì với wp_remote_post

2.3.wp_remote_request

Ngoài 2 kiểu phổ biến trên ta cũng có 1 kiểu nữa là wp_remote_request, cách này mình chưa dùng bao giờ, vì cũng chưa gặp API yêu cầu gọi kiểu này.

Ở phần sau mình sẽ nói rõ hơn về cách sử dụng cũng như về cách thức hoạt động WordPress Api.

Bài viết trước
Sitemap là gì ? Hướng dẫn tạo sitemap trên WordPress & khai báo với Google
Bài viết tiếp theo
Tìm hiểu Widget trong WordPress

    Đăng kí nhận thông tin

    Đăng ký ngay để nhận được những thông tin khi có bài viết mới!