WordPress教程

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

阿里云

最近心血来潮,想用 vue 和 axios 重构插件,但是 admin-ajax 不知道怎么地,axios 就是抓不到。整了很长时间好像是后端在头部少输出了东西。既然这样那我索性顺便也用一下 WordPress 的 rest api 呗,但是依然无法输出。自定义的 post type 并不能通过 rest api 直接访问,如果 WordPress 给已存在的 POST TYPE 文章类型添加 rest api 支持,需要改一下注册 post type 时的参数。

而我的 post type 是我事先在小宇宙里面封装好的函数注册的,嗯,你没有看错,小宇宙插件的服务器端,我也装了小宇宙。几经百度终于有种方法,能够直接修改已经注册好的 post type,下面是代码实例:

  1. /**
  2.  * Add REST API support to an already registered post type.
  3.  */
  4. add_filter( 'register_post_type_args', 'my_post_type_args', 10, 2 );
  5.  
  6. function my_post_type_args( $args, $post_type ) {
  7.  
  8.     if ( 'book' === $post_type ) {
  9.         $args['show_in_rest'] = true;
  10.  
  11.         // Optionally customize the rest_base or rest_controller_class
  12.         $args['rest_base']             = 'books';
  13.         $args['rest_controller_class'] = 'WP_REST_Posts_Controller';
  14.     }
  15.  
  16.     return $args;
  17. }
也想出现在这里?联系我们
创客主机
  1. /**
  2.  * Add REST API support to an already registered taxonomy.
  3.  */
  4. add_filter( 'register_taxonomy_args', 'my_taxonomy_args', 10, 2 );
  5.  
  6. function my_taxonomy_args( $args, $taxonomy_name ) {
  7.  
  8.     if ( 'genre' === $taxonomy_name ) {
  9.         $args['show_in_rest'] = true;
  10.  
  11.         // Optionally customize the rest_base or rest_controller_class
  12.         $args['rest_base']             = 'genres';
  13.         $args['rest_controller_class'] = 'WP_REST_Terms_Controller';
  14.     }
  15.  
  16.     return $args;
  17. }

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

已有 329 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!