Wordpress Gutenberg withSelect 获取 post 类型的列表

Wordpress Gutenberg withSelect get list of post types

我正在使用 Gutenberg 的 withSelect 包来尝试获取属于该站点的所有 post 类型。这是我的代码:

export default withSelect( select => {
    // shorthand
    const { getEntityRecords } = select( 'core' );

    return {
        typesList: getEntityRecords( 'types', '' ),
    };
} )( SearchEdit );

但我没有得到任何回报。我还发现 withSelect 的文档非常少,所以如果有人有任何进一步的信息,那将是很好的,我会尝试更新文档。

知道这个问题已经有一段时间了,但我今天提出这个问题,所以这里是一个答案。有一个方法叫做getPostTypes(),见下面的例子:

export default withSelect( select => {
    const {getPostTypes} = select('core);

    return {
        typesList: getPostTypes(),
    }
} )( YourEdit );

注意:getPostTypes() 将 return 一个 post 类型对象的数组。如果您只需要名称,则需要将结果处理成所需的格式。