programing

wp rest api는 메타로 게시물을 가져옵니다.

elecom 2023. 4. 3. 21:16
반응형

wp rest api는 메타로 게시물을 가져옵니다.

저는 완전 wp 뉴비입니다.WP REST API를 통해 모든 메타(wp_postmeta 테이블)에 대한 투고를 받는 데 어려움을 겪고 있습니다.http://v2.wp-api.org/reference/posts/

어떤 안내라도 감사합니다.감사합니다!

나는 이것에 대한 쉬운 해결책을 찾았다.현재 주제 - 기능.php는 다음 코드를 추가합니다.

register_rest_field( 'post', 'metadata', array(
    'get_callback' => function ( $data ) {
        return get_post_meta( $data['id'], '', '' );
    }, ));

모든 메타와 함께 투고/투고를 반환합니다.: http://localhost/rest_api/wp-json/wp/v2/posts 또는 http://localhost/rest_api/wp-json/wp/v2/post/58

투고 메타는 "meta"가 됩니다.

단일 필드를 사용하는 경우:

register_rest_field( 'post', 'views', array(
'get_callback' => function ( $data ) {
    return get_post_meta( $data['id'], 'hs_views', true );
}, ));

hs_module 필드를 원하는 필드로 변경하는 것을 잊지 마십시오.

모든 필드를 사용하는 경우:

register_rest_field( 'post', 'meta', array(
'get_callback' => function ( $data ) {
    return get_post_meta( $data['id'], '', '' );
}, ));

체크 레퍼런스: get_post_displays

register_rest_route는 광범위한 커스터마이즈에 적합하지만 Wordpress를 사용하면 자체 엔드포인트를 구축하지 않고도 기본 Wordpress REST API에서 커스텀 메타 필드를 표시할 수 있습니다.

register_meta를 사용하여 특정 투고 유형에 대한 특정 Wordpress Meta 필드를 표시할 수 있습니다.기본적으로 메타 필드는 Rest API에 노출되도록 등록되지 않습니다.

register_meta('post', 'type', [
        'type' => 'string',
        'single' => true,
        'show_in_rest' => true,
    ]);

이 예에서는 기본 'posts'를 설정하여 rest api에서 키 "type"을 사용하여 메타 필드를 표시합니다.구체적으로는 true로 설정된 show_in_rest가 이를 실현합니다.

상세보기 -> https://developer.wordpress.org/rest-api/extending-the-rest-api/modifying-responses/ #using-register_rest_field-vs-register_module

언급URL : https://stackoverflow.com/questions/37641689/wp-rest-api-get-posts-with-their-meta

반응형