这是我第一次使用wordpress,现在我正在使用遗留代码,将一些插件迁移到gutenberg ready。
有一个插件使用此方法获取网站中所有可用的标签:get_terms( \'post_tag\', array( \'get\' => \'all\' ) )
.
我想知道是否有某种方法可以获得网站中的所有标签,但使用WP数据模块,如wp.data.select( \'XXX/XXX\' ).getTerms(\'post_tag\')
, 我还没有找到这样的方法。现在我得到这样的标签,但我想知道是否有getTerms(\'post_tags\')
在里面wp.data
:
try {
let _the_tags = [];
let api_response = [];
let page = 1;
do {
// Get the tags corresponding to the current page
api_response = await apiFetch( { path: `/wp/v2/tags?per_page=100&page=${ page }`, method: \'GET\' } );
// Add the tags to the current tags array
_the_tags = [ ..._the_tags, ...api_response ];
// Increase the page number
page += 1;
} while ( api_response.length > 0 );
// Store the tags in the state
this.setState( { the_tags: _the_tags, loading_tags: false } );
// console.log( this.state.the_tags );
} catch ( error ) {
this.setState( { has_error: true }, () => {
console.log( error );
} );
}
SO网友:Jay
在检查Github和Stackoverflow时,我发现:
wp.data.select( \'core\' ).getEntityRecords( \'taxonomy\', \'<taxonomy_slug>\', { per_page: -1, page: 1 } )
在我的例子中,分类法slug是
post_tag
. 因此,我可以使用以下工具从我的网站检索所有标签:
select( \'core\' ).getEntityRecords( \'taxonomy\', \'post_tag\', { per_page: -1, page: 1 } )