programing

WP-API로 카테고리의 투고 리스트를 입수하려면 어떻게 해야 하나요?

randomtip 2023. 3. 12. 21:13
반응형

WP-API로 카테고리의 투고 리스트를 입수하려면 어떻게 해야 하나요?

쉬울 텐데 WP-API 문서에서는 찾을 수 없었습니다.

발견 [숨김] [1]

카테고리 이름 사용:/posts?categories=1

이거 드셔보세요.

이 질문은 포럼의 다른 질문과 중복됩니다.

http://example.com/wp-json/wp/v2/posts?categories=20,30

위에서는 다음에서 투고가 반환됩니다.category 20 OR category 30

커스텀 포스트 타입으로 테스트하고 있습니다만, 동작도 완벽합니다.

반응과 크레딧은 '매니시 정타파'에게 돌아간다.

카테고리명의 경우는, 다음과 같이 2개의 필터를 추가할 필요가 있습니다.

add_filter( "rest_post_query", function( $args, $request){
                if ( isset( $request['category_name']) && !empty($request['category_name'] ) ) {
                    $args['category_name'] = $request['category_name'];
                }
                return $args;
            }, 10, 2);


add_filter( "rest_post_collection_params", function($query_params, $post_type){
                $query_params[ 'category_name' ] = array(           
                    'description' => __( 'Category name.' ),
                    'type'        => 'string',
                    'readonly'    => true,
                );
                return $query_params;
            }, 10, 2);

이 코드는 유효합니다.

기능을 추가합니다.php

function rest_filter_by_custom_taxonomy( $args, $request ) {

if ( isset($request['category_slug']) )
{
    $category_slug = sanitize_text_field($request['category_slug']);
    $args['tax_query'] = [
        [
            'taxonomy' => 'category',
            'field'    => 'slug',
            'terms'    => $category_slug,
        ]
    ];
}

return $args;

 }
 add_filter('rest_post_query', 'rest_filter_by_custom_taxonomy', 10, 3);

EX: /wp-json/wp/v2/wp?category_news=뉴스

이 url 예는 나에게 효과가 있었다...https://yourdomain.com/?rest_route=/wp/v2/http&categories=99

언급URL : https://stackoverflow.com/questions/28540075/how-can-i-get-a-list-of-posts-for-a-category-with-wp-api

반응형