WordPress给已存在的POST TYPE文章类型添加rest api支持

作者 : 饭粒 本文共1045个字,预计阅读时间需要3分钟 发布时间: 2020-02-24 共23.84K人阅读

最近心血来潮,想用 vue 和 axios 重构插件,但是 admin-ajax 不知道怎么地,axios 就是抓不到。整了很长时间好像是后端在头部少输出了东西。既然这样那我索性顺便也用一下 wordpress 的 rest api 呗,但是依然无法输出。自定义的 post type 并不能通过 rest api 直接访问,如果 WordPress 给已存在的 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;
}

 

提示:
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!邮箱:(Admin@fanli28.cn)
2. 分享目的仅供大家学习和交流,请不要用于商业用途!QQ群:879035958(VIP群) 10563080(2群)
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请点击右下方联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码请在"下载框架提示方寻找",如遇到无法解压的请联系管理员!
饭粒爱吧资源网 » WordPress给已存在的POST TYPE文章类型添加rest api支持