我要投稿 | 网站地图 WordPress新手入门教程和WordPress开发
WordPress教程网
热门标签: wordpress教程 wordpress wordpress函数 WordPress建站 wordpress插件

教程

当前位置:首页> 教程

给已存在的POST TYPE添加rest api支持

来源(作者):互联网   发布时间: 2020-01-05  游览次数:96次

最近心血来潮,想用vue和axios重构一波小宇宙插件,但是admin-ajax.php 不知道怎么地,axios就是抓不到。百度了半天好像是后端在头部少输出了东西。

既然这样那我索性顺便也用一下WordPress的rest api呗。结果坑果然还是不断。

自定义的post type并不能通过rest api直接访问,需要改一下注册post type时的参数。

而我的post type是我事先在小宇宙里面封装好的函数注册的,嗯,你没有看错,小宇宙插件的服务器端,我也装了小宇宙。俄罗斯套娃哈哈哈

几经百度终于有种方法,能够直接修改已经注册好的post type,下面是代码实例

/**
 * Add REST API support to an already registered post type.
 */
add_filter( 'register_post_type_args', 'my_post_type_args', 10, 2 );
 
function my_post_type_args( $args, $post_type ) {
 
    if ( 'book' === $post_type ) {
        $args['show_in_rest'] = true;
 
        // Optionally customize the rest_base or rest_controller_class
        $args['rest_base']             = 'books';
        $args['rest_controller_class'] = 'WP_REST_Posts_Controller';
    }
 
    return $args;
}

 

/**
 * Add REST API support to an already registered taxonomy.
 */
add_filter( 'register_taxonomy_args', 'my_taxonomy_args', 10, 2 );
 
function my_taxonomy_args( $args, $taxonomy_name ) {
 
    if ( 'genre' === $taxonomy_name ) {
        $args['show_in_rest'] = true;
 
        // Optionally customize the rest_base or rest_controller_class
        $args['rest_base']             = 'genres';
        $args['rest_controller_class'] = 'WP_REST_Terms_Controller';
    }
 
    return $args;
}

如果

本文版权归原作者所有,转载请注明原文来源出处, WordPress教程网 感谢您的支持!

本文链接: https://www.wpabc.net:443/1206.html

WordPress教程网
WordPress教程网
相关内容