如何为我的自定义POST类型添加终结点?/wp-json/wp/v2/POSTS正在工作,但在自定义POST中没有

时间:2018-03-26 作者:Ron Ogrimen

function create_api_posts_meta_field() {

// register_rest_field ( \'name-of-post-type\', \'name-of-field-to-return\', array-of-callbacks-and-schema() )
register_rest_field( \'post\', \'post-meta-fields\', array(
       \'get_callback\'    => \'get_post_meta_for_api\',
       \'schema\'          => null,
    )
);

// register_rest_field ( \'name-of-post-type\', \'name-of-field-to-return\', array-of-callbacks-and-schema() )
register_rest_field( \'achievement\', \'post-meta-fields\', array(
       \'get_callback\'    => \'get_post_meta_for_api\',
       \'schema\'          => null,
    )
);function get_post_meta_for_api( $object ) {
//get the id of the post object array
$post_id = $object[\'id\'];

//return the post meta
return get_post_meta( $post_id );}
请输入以上代码!Tia公司

1 个回复
SO网友:Pabamato

“register\\u rest\\u field”函数将添加和处理给定端点的数据更新,看起来它不是您想要的。

如果要为端点使用自定义slug,则register\\u post\\u type()函数接受“show\\u in\\u rest”和“rest\\u base”参数:

https://codex.wordpress.org/Function_Reference/register_post_type

默认情况下,它使用WP\\u REST\\u Posts\\u Controller类来处理方法(获取、更新、删除内容),这意味着您可以参考以下文档:

https://developer.wordpress.org/rest-api/reference/posts/

您可以传递一些参数进行筛选(https://developer.wordpress.org/rest-api/reference/posts/#list-posts), 但是,如果要更改GET方法返回的结果/顺序以满足自定义需要,则必须在register\\u post\\u type()函数中为REST controller param(“REST\\u controller\\u class”)传递一个自定义类。

结束

相关推荐

WordPress重写API调用未创建新规则

我知道关于重写规则不能正常工作的查询非常常见,但在我的情况下,实际上我无法首先创建规则。我需要创建一个插件,将加载到许多网站,并为每个网站提供一些常见的功能。它将提供的功能之一是创建这些站点通用的重写规则。此时,我将测试示例缩减为以下内容:运行apache 2.4的Debian服务器。x、 php 5.6.3x,wordpress 4.9.4,使用mysql数据库。wordpress安装是源代码的一个干净的解压缩副本,没有启用插件。它刚刚完成了初始设置。apache vhost被设置为允许所有版本,但这里