如何在最新的Wordpress RESTful API中通过自定义分类过滤自定义帖子类型?

问题描述:

我在我的网站上有一个名为clock的自定义帖子类型和一个名为clock_category的分类。 它运作良好,所有的时钟可以从REST端点 https://myapp.dev/wp-json/wp/v2/clock如何在最新的Wordpress RESTful API中通过自定义分类过滤自定义帖子类型?

进行访问,但我不知道如何通过时钟类别对其进行过滤,说我想所有这些都是木制的钟

我尝试了不同的网址,但没有人似乎工作 https://myapp.dev/wp-json/wp/v2/clock?clock_category=wood https://myapp.dev/wp-json/wp/v2/clock?clock_category=10

等等。我所得到的是完整的结果集。

下面是代码

<?php 
add_action('init', 'clock'); 

function clock() { 
    $labels = array(
     "name" => __('Clock', 'mywp'), 
     "singular_name" => __('clock', 'mywp'), 
     "menu_name" => __('Clock', 'mywp'), 
     "all_items" => __('All Clock', 'mywp'), 
     "add_new" => __('Add New Clock', 'mywp'), 
     "add_new_item" => __('Add New Clock', 'mywp'), 
     "edit_item" => __('Edit Clock', 'mywp'), 
     "new_item" => __('New Clock', 'mywp'), 
     "view_item" => __('View Clock', 'mywp'), 
     "search_items" => __('Search Clock', 'mywp'), 
     "not_found" => __('No Clock Found', 'mywp'), 
     "not_found_in_trash" => __('No Clock found in trash', 'mywp'), 
     "parent_item_colon" => __('Parent Clock', 'mywp'), 
     "featured_image" => __('Feature Image for Clock', 'mywp'), 
     "set_featured_image" => __('Set featured Clock image', 'mywp'), 
     "remove_featured_image" => __('Remove featured image for Clock', 'mywp'), 
     "use_featured_image" => __('Use featured image for Clock', 'mywp'), 
     "archives" => __('Clock archives', 'mywp'), 
     "insert_into_item" => __('Insert into Clock', 'mywp'), 
     "uploaded_to_this_item" => __('Uploaded to this Clock', 'mywp'), 
     "items_list_navigation" => __('Clock list navigation', 'mywp'), 
     "items_list" => __('Clock List', 'mywp'), 
     "parent_item_colon" => __('Parent Clock', 'mywp'), 
     ); 

    $args = array(
     "label" => __('Clock', 'mywp'), 
     "labels" => $labels, 
     "description" => "Clock", 
     "public" => true, 
     "publicly_queryable" => true, 
     "show_ui" => true, 
     "show_in_rest" => true, 
     "rest_base" => "clock", 
     "has_archive" => false, 
     "show_in_menu" => true, 
       "exclude_from_search" => false, 
     "capability_type" => "post", 
     "map_meta_cap" => true, 
     "hierarchical" => false, 
     "rewrite" => array("slug" => "clock", "with_front" => true), 
     "query_var" => true, 

     "supports" => array("title", "editor", "thumbnail", "custom-fields", "page-attributes", "post-formats"),  
     "taxonomies" => array(), 
      ); 
    register_post_type("clock", $args); 
} 


add_action('init', 'create_clock_tax'); 

function create_clock_tax() { 
    register_taxonomy(
     'clock_category', 
     'clock', 
     array(
      'label' => __('Clock Category'), 
      'rewrite' => array('slug' => 'clock_category'), 
      'hierarchical' => true, 
     ) 
    ); 
} 

希望有人帮我出这一点。我一直试图解决这个问题5个小时,似乎没有任何工作。

+0

你有没有设法让这项工作。我也有同样的问题 –

您是否尝试过使用Backbone客户端? 例如:

var clock = new wp.api.models.Clock(); 
clock.fetch({data: {filter: {category: 'wood'}}}) 
    .done(function(d){ 
     //your code here... 
    }); 

Wordpress REST API reference