私はこの投稿コードを私のfunctions.php
に追加して、カスタム投稿タイプへのリクエストを作成し、book_id
でフィルタリングできるようにしました。
add_filter( 'rest_gallery_query', function( $args ) {
$args['meta_query'] = array(
array(
'key' => 'book_id',
'value' => esc_sql( $_GET['book_id'] ),
)
);
return $args;
} );
それで私は ' http:// localhost:port/wp-json/wp/v2/gallery?book_id = 9780061992254 'へのリクエストをすることができますgallery
は習慣です投稿タイプでbookd_id
はそのカスタムフィールドの1つです
私がここで抱えている問題は、この後、私は/wp-json/wp/v2/gallery
がなければbook_id
へのリクエストを行うことができず、本当にそれを行うことができる必要がある、どうすればその状況を取り除くことができますか?このパラメータをオプションにする方法を探していましたが、まだ何も見つかりませんでした。
それほど難しくありません。あなたがしなければならないのは、条件を追加してbook_id
パラメータが渡されたかどうかをチェックすることだけです。このパラメータが正しいかどうかをチェックすることもできます(たとえば、book_idが数字である必要がある場合は、正しいかどうかをチェックできます)。
add_filter( 'rest_gallery_query', function( $args ) {
if ( trim($_GET['book_id']) ) { // check if book_id is passed and is not empty, but you can modify this condition
$args['meta_query'] = array(
array(
'key' => 'book_id',
'value' => trim( $_GET['book_id'] ), // <- you don't need to esc_sql this
)
);
}
return $args;
} );