The customize_dynamic_setting_args WordPress PHP filter allows you to modify a dynamic setting’s constructor arguments.
Usage
add_filter('customize_dynamic_setting_args', 'my_custom_function', 10, 2); function my_custom_function($setting_args, $setting_id) { // your custom code here return $setting_args; }
Parameters
- $setting_args: false|array – The arguments to the WP_Customize_Setting constructor.
- $setting_id: string – ID for dynamic setting, usually coming from $_POST[‘customized’].
More information
See WordPress Developer Resources: customize_dynamic_setting_args
Examples
Change the transport method for a dynamic setting
Modify the transport method for a dynamic setting with a specific ID.
add_filter('customize_dynamic_setting_args', 'change_transport_method', 10, 2); function change_transport_method($setting_args, $setting_id) { if ('my_dynamic_setting' === $setting_id) { $setting_args = array( 'transport' => 'postMessage', ); } return $setting_args; }
Add a default value for a dynamic setting
Set a default value for a dynamic setting with a specific ID.
add_filter('customize_dynamic_setting_args', 'add_default_value', 10, 2); function add_default_value($setting_args, $setting_id) { if ('my_dynamic_setting' === $setting_id) { $setting_args = array( 'default' => 'My default value', ); } return $setting_args; }
Change the capability required for a dynamic setting
Modify the capability required for a dynamic setting with a specific ID.
add_filter('customize_dynamic_setting_args', 'change_capability', 10, 2); function change_capability($setting_args, $setting_id) { if ('my_dynamic_setting' === $setting_id) { $setting_args = array( 'capability' => 'manage_options', ); } return $setting_args; }
Add sanitization callback for a dynamic setting
Add a sanitization callback for a dynamic setting with a specific ID.
add_filter('customize_dynamic_setting_args', 'add_sanitization_callback', 10, 2); function add_sanitization_callback($setting_args, $setting_id) { if ('my_dynamic_setting' === $setting_id) { $setting_args = array( 'sanitize_callback' => 'sanitize_text_field', ); } return $setting_args; }
Add a validation callback for a dynamic setting
Add a validation callback for a dynamic setting with a specific ID.
add_filter('customize_dynamic_setting_args', 'add_validation_callback', 10, 2); function add_validation_callback($setting_args, $setting_id) { if ('my_dynamic_setting' === $setting_id) { $setting_args = array( 'validate_callback' => 'my_custom_validation', ); } return $setting_args; } function my_custom_validation($validity, $value) { if ('invalid_value' === $value) { $validity->add('invalid_value', 'The value is not allowed.'); } return $validity; }