如何使用可湿性粉剂数据模块获取所有可用的POST标签?

时间:2019-09-03 作者:Jay

这是我第一次使用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 );
        } );
    }

1 个回复
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 } )

相关推荐

Related Post by Tags Code

我试图实现的基本功能是获取当前帖子的标签,查找附加到这些标签的所有帖子,然后只返回至少有3个共同标签的帖子我已经玩了一个星期左右了。在这里找到了一个几乎完美完成工作的片段。$tags = array( \'bread\', \'cheese\', \'milk\', \'butter\'); $args = array( \'tag_slug__in\' => $tags // Add other arguments here );