如何编辑古腾堡块中的POST元数据?

时间:2018-05-11 作者:lookyhooky

我试着按照Gutenberg Handbook 创建可以更改帖子元数据的块。

虽然当我尝试使用setAttributes 功能来自props 为了保存新的数据,它保留在页面上,但实际上并没有保存回数据库,因为我相信手册中指出,如果它的来源是meta. 我一定错过了什么,但我找不到可以帮助我的资源。

php:

   $args = ...

   register_post_type(\'event\', $args);

   register_meta(\'event\', \'event_location\', [
        \'show_in_rest\' => true,
        \'single\' => true,
        \'type\' => \'string\'
    ]);
javascript:

registerBlockType(\'my-plugin/event-location\', {
  title: \'Event Location\',
  category: \'widgets\',

  attributes: {
    location: {
      type: \'string\',
      source: \'meta\',
      meta: \'event_location\'
    }
  },

  edit ({ className, attributes, setAttributes }) {
    const { location } = attributes

    function updateContent (e) {
      setAttributes({ location: e.target.value })
    }

    return el(
      \'p\',
      { className: className },
      el(
        \'input\',
        { value: location, onChange: updateContent }
      )
    )
  },

  save () {
    return null
  }
})

1 个回复
最合适的回答,由SO网友:lookyhooky 整理而成

我想我找到答案了here. 的第一个参数register_meta 不是post类型,但object_type, 对我来说应该是post 而不是taxonomycomment. 功能描述,找到here, 自WordPress 4.9.2起,正确的参数为post. 一旦我换了它,一切都正常了。

register_meta(\'post\', \'event_location\', [
    \'show_in_rest\' => true,
    \'single\' => true,
    \'type\' => \'string\'
]);
此外,here 是与同一问题相关的Github问题。

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在