使用主干和REST API更新Post Meta

时间:2015-05-06 作者:Jason Hoffmann

我正在着手一个使用主干网和WP REST API的项目,但我遇到了一点小麻烦。

使用模型和集合的内置API JS可以非常轻松地更新帖子标题或内容。我所要做的就是打电话:

this.model.set({title: \'New Title\'});
this.model.save();
一切都很顺利。但是对于post meta,似乎没有一种简单的方法来更新数据库条目。有人知道如何在主干网中获取post模型并更新其元数据吗?

2 个回复
SO网友:pdme
var parentId = 96; // the post id
var metaData = new wp.api.collections.PostMeta(\'\', {parent: parentId});
metaData.fetch()
  .done(function(data) {
    var someKey = data.findWhere({key: \'someKey\'});
    someKey.set(\'value\', \'newValue\');

    someKey.save({parent: parentId});
  });
SO网友:Tolea Bivol

现在,您还可以使用models api:

var post = new wp.api.models.Post( { id: 1 } );
post.fetch();
post.setMeta(\'metaKey\', \'metaValue\');
// Or multiple metas at one time:
post.setMetas({metaKeyOne: \'metaValueOne\', metaKeyTwo: \'metaValueTwo\'});
post.save()
要使其工作,必须使用为REST API注册metaregister_post_metashow_in_rest 参数设置为true.以下是一个示例:

add_action(
    \'init\',
    function() {
        register_post_meta(\'my_post_type\', \'my_meta_key\', [\'show_in_rest\' => true, \'single\' => true]);
    }
);

结束

相关推荐

自定义3.5版“添加媒体”弹出窗口(Backbone.js)

这里还有一个关于新(ish)3.5“添加媒体”弹出窗口的问题,以及如何自定义它!What I\'m trying to do我正在尝试做四件主要的事情:1)创建一个名为“Flickr上传”的自定义选项卡;2) 自定义上载中显示的文本button; 3) 填充select 外部下拉菜单API 排序选项(换句话说unset 默认选项和set 我自己的。。。仅适用于自定义选项卡);4) 将显示的照片更改为外部API 还可以添加标签、描述等。。。在右侧栏中。What I\'ve managed to do使用gi