要按分类值筛选WP REST API,您可以使用以下代码示例:
function add_category_filter_param() {
register_rest_field( 'post', 'category_filter', array(
'get_callback' => 'get_category_filter',
'schema' => null,
) );
}
add_action( 'rest_api_init', 'add_category_filter_param' );
function get_category_filter( $object, $field_name, $request ) {
return wp_get_post_terms( $object['id'], 'category', array( 'fields' => 'slugs' ) );
}
const categoryFilter = 'value1,value2,value3'; // 替换为您想要筛选的分类值,使用逗号分隔
fetch( 'https://example.com/wp-json/wp/v2/posts?category_filter=' + categoryFilter )
.then( response => response.json() )
.then( data => {
// 处理返回的数据
} )
.catch( error => {
console.error( error );
} );
请注意,代码示例中的URL是一个示例,您需要将其替换为您自己的WordPress站点的URL。
function add_category_filter_query( $args, $request ) {
if ( isset( $request['category_filter'] ) ) {
$args['tax_query'] = array(
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => explode( ',', $request['category_filter'] ),
),
);
}
return $args;
}
add_filter( 'rest_post_query', 'add_category_filter_query', 10, 2 );
这样,当您向WP REST API发送请求时,将只返回具有指定分类值的帖子。
希望这些代码示例能帮助您按分类值筛选WP REST API!