The default_wp_template_part_areas WordPress PHP filter allows you to modify the list of allowed template part area values.
Usage
add_filter('default_wp_template_part_areas', 'my_custom_template_part_areas'); function my_custom_template_part_areas($default_area_definitions) { // your custom code here return $default_area_definitions; }
Parameters
- $default_area_definitions (array): An array of supported area objects.
More information
See WordPress Developer Resources: default_wp_template_part_areas
Examples
Add a new template part area
Add a new custom template part area called ‘banner’.
add_filter('default_wp_template_part_areas', 'add_banner_template_part_area'); function add_banner_template_part_area($default_area_definitions) { $default_area_definitions[] = array( 'area' => 'banner', 'label' => __('Banner', 'textdomain'), ); return $default_area_definitions; }
Remove an existing template part area
Remove the ‘header’ template part area.
add_filter('default_wp_template_part_areas', 'remove_header_template_part_area'); function remove_header_template_part_area($default_area_definitions) { foreach ($default_area_definitions as $key => $area) { if ($area['area'] === 'header') { unset($default_area_definitions[$key]); } } return $default_area_definitions; }
Change the label of a template part area
Change the label of the ‘footer’ template part area to ‘Website Footer’.
add_filter('default_wp_template_part_areas', 'change_footer_label'); function change_footer_label($default_area_definitions) { foreach ($default_area_definitions as &$area) { if ($area['area'] === 'footer') { $area['label'] = __('Website Footer', 'textdomain'); } } return $default_area_definitions; }
Sort template part areas alphabetically
Sort the template part areas by their labels in alphabetical order.
add_filter('default_wp_template_part_areas', 'sort_template_part_areas_alphabetically'); function sort_template_part_areas_alphabetically($default_area_definitions) { usort($default_area_definitions, function($a, $b) { return strcmp($a['label'], $b['label']); }); return $default_area_definitions; }
Make all template part area labels uppercase
Change all template part area labels to uppercase.
add_filter('default_wp_template_part_areas', 'uppercase_template_part_area_labels'); function uppercase_template_part_area_labels($default_area_definitions) { foreach ($default_area_definitions as &$area) { $area['label'] = strtoupper($area['label']); } return $default_area_definitions; }