私は以下のような状況にあります。
カスタムの投稿タイプ名 Works を作成しました。また、 Work Type という名前のカスタム分類法も付けられています。
これがコードです
function rk_work_post_type(){
$labels = array(
'name' => 'Work',
'singular_name' => 'Work',
'add_new' => 'Add Work',
'all_items' => 'All Works',
'add_new_item' => 'Add Work',
'edit_item' => 'Edit Work',
'new_item' => 'New Work',
'view_item' => 'View Work',
'search_item' => 'Search Work',
'not_found' => 'No items found',
'not_found_in_trash' => 'No items found in trash',
'parent_item_colon' => 'Parent Item'
);
$args = array(
'labels' => $labels,
'public' => true,
'has_archive' => true,
'publicly_queryable' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'supports' => array(
'title',
'editor',
'excerpt',
'thumbnail',
'revisions',
'comments',
),
// 'taxonomies' => array('category', 'post_tag'),
'menu_icon' => 'dashicons-hammer',
'menu_position' => 5,
'exclude_from_search' => false,
'show_in_rest' => true,
'rest_base' => 'works',
'rest_controller_class' => 'WP_REST_Posts_Controller',
);
register_post_type('work',$args);
}
add_action('init','rk_work_post_type');
function rk_work_taxonomies() {
//add new taxonomy hierarchical
$labels = array(
'name' => 'Work Types',
'singular_name' => 'Work type',
'search_items' => 'Search Types',
'all_items' => 'All Work Types',
'parent_item' => 'Parent Type',
'parent_item_colon' => 'Parent Type:',
'edit_item' => 'Edit Work Type',
'update_item' => 'Update Work Type',
'add_new_item' => 'Add New Work Type',
'new_item_name' => 'New Work Type Name',
'menu_name' => 'Work Types'
);
$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'work_type' ),
'show_in_rest' => true,
'rest_base' => 'work_type',
'rest_controller_class' => 'WP_REST_Terms_Controller',
);
register_taxonomy('work_type', array('work'), $args);
}
add_action( 'init' , 'rk_work_taxonomies' );
私が持っている問題は、私は Works /によってフィルタリングされた Work Type using REST API v2を取得する方法を見つけることができないということです。
私はいくつかのwordpress更新フィルタクエリがREST APIから削除された後にそれを読みました。それでは今これを行うための適切な方法は何ですか?いくつか例を挙げてください。
前もって感謝します!
わかりました、解決策は次のとおりです。
example.com/wp-json/wp/v2/works?work_type=10
それはidとしてwork_typesを見ます。あなたはIDを見ることができます:
example.com/wp-json/wp/v2/works
私はWP REST Filterプラグインをインストールしました、そして私は以下のようにカテゴリスラッグで投稿をフィルターにかけることができます:
http://www.example.com/wp-json/wp/v2/my_custom_posts?filter[my_custom_taxomony]=my_custom_taxonomy_slug
あなたの場合:
http://www.example.com/wp-json/wp/v2/works?filter[work_type]=building
https://developer.wordpress.org/reference/functions/get_posts/ /
このリンクヘルプ
投稿を取得するために使用されるget_posts()メソッドが含まれます。
投稿タイプを引数で渡す