使用wp.data.选择获取POST中使用的实际标签(不是ID)

时间:2021-02-21 作者:Leadhood

我试图在编辑器中检索当前帖子使用的标记。

使用浏览器中的控制台;

wp.data.select( \'core/editor\' ).getEditedPostAttribute( \'tags\' )
这将返回使用过的标记id,但是how do I retrieve the actual tags?

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

您可以使用getEntityRecord() 像这样:

const tag_ids = wp.data.select( \'core/editor\' ).getEditedPostAttribute( \'tags\' );

// the last parameter is always the tag ID (and just one single ID)
const tag = wp.data.select( \'core\' ).getEntityRecord( \'taxonomy\', \'post_tag\', tag_ids[0] );

console.log( tag ? tag.name : \'still resolving or no such tag..\' );
或使用getEntityRecords() 使用include parameter 设置标记ID:

const tag_ids = wp.data.select( \'core/editor\' ).getEditedPostAttribute( \'tags\' );

// the last parameter is an object containing the REST API endpoint arguments
const tags = wp.data.select( \'core\' ).getEntityRecords( \'taxonomy\', \'post_tag\', { include: tag_ids } );

console.log( tags && tags[0] ? tags[0].name : \'still resolving or tags[0] not available\' );
记住这一点getEntityRecord()getEntityRecords() 对执行AJAX请求/wp/v2/tags 在REST API中路由,因此函数可能不会立即从API返回响应。