钩子文档

default_wp_template_part_areas

💡 云策文档标注

概述

default_wp_template_part_areas 是一个 WordPress 过滤器钩子,用于过滤允许的模板部件区域值列表。它允许开发者自定义或扩展模板部件区域的定义,例如添加新的区域如侧边栏。

关键要点

  • 这是一个过滤器钩子,用于修改模板部件区域的定义数组。
  • 参数 $default_area_definitions 是一个数组,包含允许的模板部件区域值。
  • 每个区域定义包括 area(名称)、label(标签)、description(描述)、icon(图标)和 area_tag(标签)等字段。
  • 钩子通过 apply_filters 调用,返回过滤后的数组。
  • 相关函数 get_allowed_block_template_part_areas() 使用此钩子来获取允许的区域列表。
  • 自 WordPress 5.9.0 版本引入。

代码示例

add_filter( 'default_wp_template_part_areas', 'wpdocs_template_part_areas' );

function wpdocs_template_part_areas( array $areas ) {
    $areas[] = array(
        'area'        => 'sidebar',
        'area_tag'    => 'section', // 有效元素: div, header, main, section, article, aside 和 footer.
        'label'       => __( 'Sidebar', 'mytheme' ),
        'description' => __( 'Template part area description', 'mytheme' ),
        'icon'        => 'sidebar' // 默认图标: header, footer 和 sidebar.
    );

    return $areas;
}

📄 原文内容

Filters the list of allowed template part area values.

Parameters

$default_area_definitionsarray[]
The allowed template part area values.

  • ...$0 array
    Data for the template part area.

    • area string
      Template part area name.
    • label string
      Template part area label.
    • description string
      Template part area description.
    • icon string
      Template part area icon.
    • area_tag string
      Template part area tag.

Source

return apply_filters( 'default_wp_template_part_areas', $default_area_definitions );

Changelog

Version Description
5.9.0 Introduced.

User Contributed Notes

  1. Skip to note 2 content

    How to register a sidebar template part using this hook:

    add_filter( 'default_wp_template_part_areas', 'wpdocs_template_part_areas' );
    
    function wpdocs_template_part_areas( array $areas ) {
        $areas[] = array(
            'area'        => 'sidebar',
            'area_tag'    => 'section', // Valid elements: div, header, main, section, article, aside and footer.
            'label'       => __( 'Sidebar', 'mytheme' ),
            'description' => __( 'Template part area description', 'mytheme' ),
            'icon'        => 'sidebar' // Default icons: header, footer and sidebar.
        );
    
        return $areas;
    }

You must log in before being able to contribute a note or feedback.