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;
}