Hướng dẫn thêm ACF Field data vào trong REST API WordPress

Rate this post

Nếu bạn cần đẩy thêm trường dữ liệu từ ACF Field trong REST API WordPress, hướng dẫn ngắn gọn sau đây sẽ giúp bạn.

Chẳng hạn, trong post type “Custom Post Type” (đặt ví dụ) của mình có 1 field tên là “submission_url” dùng để lưu 1 địa chỉ web nào đó:

ACF Field trong 1 post type

Mình sẽ cần gọi nó ra thành 1 field key như này khi truy cập vào đường dẫn, ví dụ codetot.net/wp-json/v2/custom_post_type:

Đọc REST API và thêm giá trị key

Để đọc giao diện REST API dễ hơn thì bạn mở trên Firefox hoặc mở với reqbin.com nhé.

Thì bạn có thể dùng hook rest_api_init để thực hiện với function register_rest_field như sau. Đặt đoạn code này trong functions.php nhé:

<?php

function create_acf_fields_key_for_rest_api() {
  register_rest_field(
    [ 'custom_post_type' ], // add post types here
    'wikipedia_url', // name of the field
    array(
      'get_callback' => 'codetot_get_acf_fields_for_api',
      'update_callback' => null,
      'schema' => null,
    )
  );
}
add_action( 'rest_api_init', 'create_acf_fields_key_for_rest_api' );

function codetot_get_acf_fields_for_api( $object ) {
  $data = get_field( 'submission_url', get_the_ID() );
  return $data ?: false;
}

?>

Viết một bình luận


Chuyên gia về Web
Bạn muốn làm việc với dịch vụ website do chúng tôi triển khai?
Gọi tư vấn 0982.90.4343
Chuyên gia về Web
Bài viết liên quan
Gọi file PHP trong WordPress

19/09/2023

Cài đặt và sử dụng WP-CLI trên môi trường Linux
Trên một số môi trường Hosting có thể cung cấp SSH hoặc Terminal access, song không có sẵn WP-CLI để...
Import database MySQL lớn trên môi trường Docker

06/08/2023

Import database MySQL lớn trên môi trường Docker
Mình sử dụng EasyPanel để quản lý các Docker và build môi trường app. Nay gặp tình huống phải import...

28/01/2023

Hướng dẫn cài đặt php extension mongodb trên Mac OS M1
Khi bạn muốn hỗ trợ MongoDB trên dòng Mac M1, phần cài đặt sẽ cần một chút lưu ý. Hướng...
Git

18/12/2022

Xử lý lỗi Git không thể tiến hành merge do merge.renamelimit
Khi bạn tiến hành merge nhánh phụ vào nhánh chính hoặc lên nhánh production, có thể xung đột xảy ra...