在wordpress的json数据中显示值

在wordpress的json数据中显示值,wordpress,Wordpress,我有wordpress自定义的帖子类型“books”,还有一个分类法叫做“genres”。我需要将此数据导入我的移动应用程序 因此,使用/wp json/wp/v2/books,其中一本书的数据如下所示: 如何获得要显示的流派的实际名称(在本例中为“冒险”),而不是id“57”?我知道值57对应于“Adventure”,我也知道我可以在本地重写这个值,但是从一开始就得到我想要使用的实际值会简单得多。任何帮助都将不胜感激 您需要检查您的自定义post类型分类是否设置为显示在RESTAPI中 在创

我有wordpress自定义的帖子类型“books”,还有一个分类法叫做“genres”。我需要将此数据导入我的移动应用程序

因此,使用/wp json/wp/v2/books,其中一本书的数据如下所示:


如何获得要显示的流派的实际名称(在本例中为“冒险”),而不是id“57”?我知道值57对应于“Adventure”,我也知道我可以在本地重写这个值,但是从一开始就得到我想要使用的实际值会简单得多。任何帮助都将不胜感激

您需要检查您的自定义post类型分类是否设置为显示在RESTAPI中

在创建自定义帖子类型/分类的代码中,您需要检查数组选项
show\u In\u rest
是否设置为
true
。如果没有,你需要加上它

// hook into the init action and call create_book_taxonomies when it fires
add_action( 'init', 'create_book_taxonomies', 0 );

// create two taxonomies, genres and writers for the post type "book"
function create_book_taxonomies() {
    // Add new taxonomy, make it hierarchical (like categories)
    $labels = array(
        'name'              => _x( 'Genres', 'taxonomy general name' ),
        // more labels here...
    );

    $args = array(
        'hierarchical'      => true,
        'labels'            => $labels,
        'show_ui'           => true,
                'show_in_rest'      => true,
        'show_admin_column' => true,
        'query_var'         => true,
        'rewrite'           => array( 'slug' => 'genre' ),
    );

    register_taxonomy( 'genre', array( 'book' ), $args );
使用
show_in_rest
将自定义分类法添加到WP-API后,您可以导航到分类法或术语端点以查看其实际操作

例如,您可以转到
mysite.com/wp json/wp/v2/terms/genre
查看您的所有类型

如果您有一个ID为57的名为“冒险”的类型,要仅查看有关冒险类型的信息,请访问
mysite.com/wp json/wp/v2/terms/genre/57


如果您只是想了解分类法的结构信息,那么您可以访问mysite.com/wp json/wp/v2/taxonomies/genre

再过几个小时,我就找到了需要修改的内容。在

/wp包括/restapi/endpoints/class-wp-rest-posts-controller.php

。。。我不得不改变下面这句话

$data[ $base ] = $terms ? array_values( wp_list_pluck( $terms, 'term_id' ) ) : array();


使用/wp-json/wp/v2/book,这将列出分类法值名称,而不是分类法值id。

您是否尝试过
“$genre\u-name=$wpdb->get\u-row(“SELECT*FROM$wpdb->terms其中term\u-id=$genre\u-id”)
或类似的东西。查看codex,您还可以找到以下内容:
//在类别分类法中按id获取术语(“术语id”)。通过('id',12',category')获取术语
谢谢Matthew。是的,我知道-我可以在我的应用程序中设置进一步的数据导入来获取信息。但是我想要的是这些信息实际出现在/wp json/wp/v2/books中。这样,在我的应用程序中,我就可以使用这一个json数据导入来获取书籍标题和流派(以及我可能指定的任何其他分类值)。。。
$data[ $base ] = $terms ? array_values( wp_list_pluck( $terms, 'name' ) ) : array();