我试图让使用自定义帖子类型处理产品的Wordpress插件/主题的用户创建一个块,以显示这些自定义帖子之一的摘要。我正在尝试通过基于official tutorial在插件中创建一个自定义块来实现此目的。我想在古腾堡(Gutenberg)后端上简单地显示一个带有所有自定义帖子作为选项的选择框,但是我愿意接受建议。
我试图阅读我可以传递给该块的javascript文件中的getEntityRecords函数的内容,但是文档似乎真的很少。如果有人能指出正确的方向,我将非常感激。我也尝试设置'taxonomy'
而不是'postType'
,但是它也不起作用。没有好的API文档,可能的选项和参数很难猜测。
这是我的代码(的一部分)。我想知道第3行中getEntityRecords
的可能参数。
edit: withSelect( function( select ) {
// setting postType to 'product' does not work for me here
var pages = select('core').getEntityRecords('postType', 'page', { per_page: 10 });
return {
posts: pages
};
} )( function( props ) {
if ( ! props.posts ) {
return "Loading...";
}
if ( props.posts.length === 0 ) {
return "No posts";
}
var className = props.className;
var post = props.posts[ 0 ];
var options = [];
for (var i = 0; i < props.posts.length; i++) {
var option = el(
'option',
{ value: props.posts[i].id },
props.posts[i].title.rendered
);
options.push(option);
}
var select = el(
'select',
{ className: className },
options
);
return select;
} ),
答案 0 :(得分:4)
如果您遇到相同的问题,我是:在声明自定义帖子类型时,您必须具有'show_in_rest' => true,
,因为这些块基于restAPI;)希望这会有所帮助