Jetpack_Custom_CSS_Enhancements::customize_register PHP Method

customize_register() public static method

Add Custom CSS section and controls.
public static customize_register ( WP_Customize_Manager $wp_customize )
$wp_customize WP_Customize_Manager WP_Customize_Manager instance.
    public static function customize_register($wp_customize)
    {
        /**
         * SETTINGS.
         */
        $wp_customize->add_setting('jetpack_custom_css[preprocessor]', array('default' => '', 'transport' => 'postMessage', 'sanitize_callback' => array(__CLASS__, 'sanitize_preprocessor')));
        $wp_customize->add_setting('jetpack_custom_css[replace]', array('default' => false, 'transport' => 'refresh'));
        $wp_customize->add_setting('jetpack_custom_css[content_width]', array('default' => '', 'transport' => 'refresh', 'sanitize_callback' => array(__CLASS__, 'intval_base10')));
        // Add custom sanitization to the core css customizer setting.
        foreach ($wp_customize->settings() as $setting) {
            if ($setting instanceof WP_Customize_Custom_CSS_Setting) {
                add_filter("customize_sanitize_{$setting->id}", array(__CLASS__, 'sanitize_css_callback'), 10, 2);
            }
        }
        /**
         * CONTROLS.
         */
        // Overwrite the Core Control.
        $core_custom_css = $wp_customize->get_control('custom_css');
        if ($core_custom_css) {
            $wp_customize->remove_control('custom_css');
            $core_custom_css->type = 'jetpackCss';
            $wp_customize->add_control($core_custom_css);
        }
        $wp_customize->selective_refresh->add_partial('custom_css', array('type' => 'custom_css', 'selector' => '#wp-custom-css', 'container_inclusive' => false, 'fallback_refresh' => false, 'settings' => array('custom_css[' . $wp_customize->get_stylesheet() . ']', 'jetpack_custom_css[preprocessor]'), 'render_callback' => array(__CLASS__, 'echo_custom_css_partial')));
        $wp_customize->add_control('wpcom_custom_css_content_width_control', array('type' => 'text', 'label' => __('Media Width', 'jetpack'), 'section' => 'custom_css', 'settings' => 'jetpack_custom_css[content_width]'));
        $wp_customize->add_control('jetpack_css_mode_control', array('type' => 'checkbox', 'label' => __('Don\'t use the theme\'s original CSS.', 'jetpack'), 'section' => 'custom_css', 'settings' => 'jetpack_custom_css[replace]'));
        /**
         * An action to grab on to if another Jetpack Module would like to add its own controls.
         *
         * @module custom-css
         *
         * @since 4.4.2
         *
         * @param $wp_customize The WP_Customize object.
         */
        do_action('jetpack_custom_css_customizer_controls', $wp_customize);
        /** This filter is documented in modules/custom-css/custom-css.php */
        $preprocessors = apply_filters('jetpack_custom_css_preprocessors', array());
        if (!empty($preprocessors)) {
            $preprocessor_choices = array('' => __('None', 'jetpack'));
            foreach ($preprocessors as $preprocessor_key => $processor) {
                $preprocessor_choices[$preprocessor_key] = $processor['name'];
            }
            $wp_customize->add_control('jetpack_css_preprocessors_control', array('type' => 'select', 'choices' => $preprocessor_choices, 'label' => __('Preprocessor', 'jetpack'), 'section' => 'custom_css', 'settings' => 'jetpack_custom_css[preprocessor]'));
        }
    }