函数文档

get_dynamic_block_names()

💡 云策文档标注

概述

get_dynamic_block_names() 函数用于获取所有已注册动态块类型的名称数组。它通过遍历 WP_Block_Type_Registry 实例并检查每个块类型是否为动态块来实现。

关键要点

  • 函数返回一个字符串数组,包含所有动态块的名称。
  • 内部使用 WP_Block_Type_Registry::get_instance()->get_all_registered() 获取所有已注册块类型。
  • 通过 block_type->is_dynamic() 方法判断块是否为动态块。
  • 此函数自 WordPress 5.0.0 版本引入。

代码示例

// Fetch block names.
$block_names = get_dynamic_block_names();

// Output.
Array
(
    [0] => core/block
    [1] => core/latest-comments
    [2] => core/archives
    [3] => core/calendar
    [4] => core/categories
    [5] => core/latest-posts
    [6] => core/rss
    [7] => core/search
    [8] => core/shortcode
    [9] => core/tag-cloud
)

📄 原文内容

Returns an array of the names of all registered dynamic block types.

Return

string[] Array of dynamic block names.

Source

function get_dynamic_block_names() {
	$dynamic_block_names = array();

	$block_types = WP_Block_Type_Registry::get_instance()->get_all_registered();
	foreach ( $block_types as $block_type ) {
		if ( $block_type->is_dynamic() ) {
			$dynamic_block_names[] = $block_type->name;
		}
	}

	return $dynamic_block_names;
}

Changelog

Version Description
5.0.0 Introduced.

User Contributed Notes

  1. Skip to note 2 content

    // Fetch block names.
    $block_names = get_dynamic_block_names();
    
    // Output.
    Array
    (
        [0] => core/block
        [1] => core/latest-comments
        [2] => core/archives
        [3] => core/calendar
        [4] => core/categories
        [5] => core/latest-posts
        [6] => core/rss
        [7] => core/search
        [8] => core/shortcode
        [9] => core/tag-cloud
    )