The customize_control_active WordPress PHP filter is used to modify whether a Customizer control is active or not.
Usage
add_filter('customize_control_active', 'your_custom_function', 10, 2);
function your_custom_function($active, $control) {
// your custom code here
return $active;
}
Parameters
- $active (bool): Whether the Customizer control is active.
- $control (WP_Customize_Control): The WP_Customize_Control instance.
More information
See WordPress Developer Resources: customize_control_active
Examples
Deactivate a specific Customizer control
Deactivate the control with the ID ‘my_control_id’.
add_filter('customize_control_active', 'deactivate_specific_control', 10, 2);
function deactivate_specific_control($active, $control) {
if ('my_control_id' === $control->id) {
return false;
}
return $active;
}
Deactivate all text controls
Deactivate all controls of type ‘text’.
add_filter('customize_control_active', 'deactivate_text_controls', 10, 2);
function deactivate_text_controls($active, $control) {
if ('text' === $control->type) {
return false;
}
return $active;
}
Activate controls only for specific users
Activate controls only for users with the ‘editor’ role.
add_filter('customize_control_active', 'activate_controls_for_editors', 10, 2);
function activate_controls_for_editors($active, $control) {
if (current_user_can('editor')) {
return true;
}
return $active;
}
Deactivate controls based on another control’s value
Deactivate a control if another control has a specific value.
add_filter('customize_control_active', 'deactivate_control_based_on_other', 10, 2);
function deactivate_control_based_on_other($active, $control) {
if ('dependent_control_id' === $control->id) {
$other_control_value = $control->manager->get_setting('other_control_id')->value();
if ('specific_value' === $other_control_value) {
return false;
}
}
return $active;
}
Activate controls only on specific pages
Activate controls only if the current page is a specific page.
add_filter('customize_control_active', 'activate_controls_on_specific_page', 10, 2);
function activate_controls_on_specific_page($active, $control) {
if (is_page('specific-page-slug')) {
return true;
}
return $active;
}