<?php /* --------------------------------------------------------------------------------------------- THEME OPTIONS --------------------------------------------------------------------------------------------- */ if ( ! class_exists( 'Fukasawa_Customize' ) ) { class Fukasawa_Customize { public static function register( $wp_customize ) { /* Accent Color ------------------ */ $wp_customize->add_setting( 'accent_color', array( 'default' => '#019EBD', 'type' => 'theme_mod', 'transport' => 'postMessage', 'sanitize_callback' => 'sanitize_hex_color' ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'fukasawa_accent_color', array( 'label' => __( 'Accent Color', 'fukasawa' ), 'section' => 'colors', 'settings' => 'accent_color', 'priority' => 10, ) ) ); /* Fukasawa Logo ----------------- */ // Only display the Customizer section for the fukasawa_logo setting if it already has a value. // This means that site owners with existing logos can remove them, but new site owners can't add them. // Since v2.0.0, the core custom_logo setting (in the Site Identity Customizer panel) should be used instead. if ( get_theme_mod( 'fukasawa_logo' ) ) { $wp_customize->add_section( 'fukasawa_logo_section' , array( 'title' => __( 'Logo', 'fukasawa' ), 'priority' => 40, 'description' => __( 'Upload a logo to replace the default site title in the sidebar/header', 'fukasawa' ), ) ); $wp_customize->add_setting( 'fukasawa_logo', array( 'sanitize_callback' => 'esc_url_raw' ) ); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'fukasawa_logo', array( 'label' => __( 'Logo', 'fukasawa' ), 'section' => 'fukasawa_logo_section', 'settings' => 'fukasawa_logo', ) ) ); } } public static function header_output() { echo '<!-- Customizer CSS -->'; echo '<style type="text/css">'; self::generate_css( 'body a', 'color', 'accent_color' ); self::generate_css( '.main-menu .current-menu-item:before', 'color', 'accent_color' ); self::generate_css( '.main-menu .current_page_item:before', 'color', 'accent_color' ); self::generate_css( '.widget-content .textwidget a:hover', 'color', 'accent_color' ); self::generate_css( '.widget_fukasawa_recent_posts a:hover .title', 'color', 'accent_color' ); self::generate_css( '.widget_fukasawa_recent_comments a:hover .title', 'color', 'accent_color' ); self::generate_css( '.widget_archive li a:hover', 'color', 'accent_color' ); self::generate_css( '.widget_categories li a:hover', 'color', 'accent_color' ); self::generate_css( '.widget_meta li a:hover', 'color', 'accent_color' ); self::generate_css( '.widget_nav_menu li a:hover', 'color', 'accent_color' ); self::generate_css( '.widget_rss .widget-content ul a.rsswidget:hover', 'color', 'accent_color' ); self::generate_css( '#wp-calendar thead', 'color', 'accent_color' ); self::generate_css( '.widget_tag_cloud a:hover', 'background', 'accent_color' ); self::generate_css( '.search-button:hover .genericon', 'color', 'accent_color' ); self::generate_css( '.flex-direction-nav a:hover', 'background-color', 'accent_color' ); self::generate_css( 'a.post-quote:hover', 'background', 'accent_color' ); self::generate_css( '.posts .post-title a:hover', 'color', 'accent_color' ); self::generate_css( '.post-content blockquote:before', 'color', 'accent_color' ); self::generate_css( '.post-content fieldset legend', 'background', 'accent_color' ); self::generate_css( '.post-content input[type="submit"]:hover', 'background', 'accent_color' ); self::generate_css( '.post-content input[type="button"]:hover', 'background', 'accent_color' ); self::generate_css( '.post-content input[type="reset"]:hover', 'background', 'accent_color' ); self::generate_css( '.post-content .has-accent-color', 'color', 'accent_color' ); self::generate_css( '.post-content .has-accent-background-color', 'background-color', 'accent_color' ); self::generate_css( '.page-links a:hover', 'background', 'accent_color' ); self::generate_css( '.comments .pingbacks li a:hover', 'color', 'accent_color' ); self::generate_css( '.comment-header h4 a:hover', 'color', 'accent_color' ); self::generate_css( '.bypostauthor.commet .comment-header:before', 'background', 'accent_color' ); self::generate_css( '.form-submit #submit:hover', 'background-color', 'accent_color' ); self::generate_css( '.nav-toggle.active', 'background-color', 'accent_color' ); self::generate_css( '.mobile-menu .current-menu-item:before', 'color', 'accent_color' ); self::generate_css( '.mobile-menu .current_page_item:before', 'color', 'accent_color' ); self::generate_css( 'body#tinymce.wp-editor a', 'color', 'accent_color' ); self::generate_css( 'body#tinymce.wp-editor a:hover', 'color', 'accent_color' ); self::generate_css( 'body#tinymce.wp-editor fieldset legend', 'background', 'accent_color' ); self::generate_css( 'body#tinymce.wp-editor blockquote:before', 'color', 'accent_color' ); echo '</style>'; echo '<!--/Customizer CSS-->'; } public static function generate_css( $selector, $style, $mod_name, $prefix='', $postfix='', $echo=true ) { $return = ''; $mod = get_theme_mod( $mod_name ); if ( ! empty( $mod ) ) { $return = sprintf('%s { %s:%s; }', $selector, $style, $prefix.$mod.$postfix ); if ( $echo ) { echo $return; } } return $return; } } // Setup the Theme Customizer settings and controls... add_action( 'customize_register', array( 'Fukasawa_Customize', 'register' ) ); // Output custom CSS to live site add_action( 'wp_head', array( 'Fukasawa_Customize', 'header_output' ) ); }