모든 ACF 필드를 Wordpress REST API에 표시하는 방법 페이지와 사용자 지정 포스트타이프
javascript를 통해 API 호출을 하기 위해 페이지 또는 커스텀 포스트 타입에 속하는 모든 ACF 필드를 WordPress REST API에 노출시키고 싶습니다.
최종적인 예상 결과는 네트워크 내의 모든 ACF 필드가 됩니다.ACF
쉽게 접근할 수 있는 객체입니다.
또 하나의 심플한 솔루션은 현재 나에게 딱 맞습니다.다음 기능을 에 추가할 수 있습니다.functions.php
또는fields.php
rest 요구를 송신하기 전에 ACF를 사용한다.이것은 임의의 특별한 페이지에 추가할 수 있습니다.rest_prepare_page
또는rest_prepare_post
.
ACF 데이터는 키를 사용하여 json 응답에 있습니다.acf
// add this to functions.php
//register acf fields to Wordpress API
//https://support.advancedcustomfields.com/forums/topic/json-rest-api-and-acf/
function acf_to_rest_api($response, $post, $request) {
if (!function_exists('get_fields')) return $response;
if (isset($post)) {
$acf = get_fields($post->id);
$response->data['acf'] = $acf;
}
return $response;
}
add_filter('rest_prepare_post', 'acf_to_rest_api', 10, 3);
다음 코드를 통해 노출할 수 있습니다.page
press REST API의 커스텀 포스트유형 ACF 필드에 접속하여ACF
물건.
포스트유형을 커스터마이즈하여 제외하거나 어레이에 포함할 수 있습니다.$postypes_to_exclude
그리고.$extra_postypes_to_include
.
function create_ACF_meta_in_REST() {
$postypes_to_exclude = ['acf-field-group','acf-field'];
$extra_postypes_to_include = ["page"];
$post_types = array_diff(get_post_types(["_builtin" => false], 'names'),$postypes_to_exclude);
array_push($post_types, $extra_postypes_to_include);
foreach ($post_types as $post_type) {
register_rest_field( $post_type, 'ACF', [
'get_callback' => 'expose_ACF_fields',
'schema' => null,
]
);
}
}
function expose_ACF_fields( $object ) {
$ID = $object['id'];
return get_fields($ID);
}
add_action( 'rest_api_init', 'create_ACF_meta_in_REST' );
다음은 참고 요지입니다.https://gist.github.com/MelMacaluso/6c4cb3db5ac87894f66a456ab8615f10
다음 플러그인을 사용하여 REST의 ACF 필드를 표시할 수 있습니다.
https://wordpress.org/plugins/acf-to-rest-api/
ACF 필드에 관계가 있고 이러한 관계도 정지 상태로 포함할 경우 다음 플러그인을 사용할 수 있습니다.
https://github.com/airesvsg/acf-to-rest-api-recursive
ACF는 버전 5.11 이후 각 필드를 통해 REST API에 필드를 추가할 수 있습니다.업데이트는 https://www.advancedcustomfields.com/resources/rest-api/ 에서 확인하실 수 있습니다.
요점은 각 필드에 "Show in REST API" 설정이 있다는 것입니다.기본적으로는 "아니오"로 설정되어 있지만 "예"로 전환하면 각 포스트/커스텀 포스트 유형의 REST 데이터에 추가됩니다.
언급URL : https://stackoverflow.com/questions/56473929/how-to-expose-all-the-acf-fields-to-wordpress-rest-api-in-both-pages-and-custom
'programing' 카테고리의 다른 글
Next.js: 문서가 정의되지 않았습니다. (0) | 2023.03.27 |
---|---|
Oracle: CSV 파일 Import (0) | 2023.03.27 |
내보낸 릴레이 컨테이너 입력 방법 (0) | 2023.03.27 |
Angular & Express를 사용하여 사용자를 로그인하는 적절한 방법은 무엇입니까? (0) | 2023.03.27 |
리모트 wp-admin이 localhost로 리다이렉트 되는 이유는 무엇입니까? (0) | 2023.03.27 |