get_setting( 'blogname' )->transport = 'postMessage'; $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage'; if ( isset( $wp_customize->selective_refresh ) ) { $wp_customize->selective_refresh->add_partial( 'blogname', array( 'selector' => '.site-title a', 'render_callback' => 'bakunin_customize_partial_blogname', ) ); $wp_customize->selective_refresh->add_partial( 'blogdescription', array( 'selector' => '.site-description', 'render_callback' => 'bakunin_customize_partial_blogdescription', ) ); } /** * Layout customize */ $wp_customize->add_section( 'layout_custom', array( 'title' => __( 'Layout Custom', 'bakunin' ), 'priority' => 31, ) ); $wp_customize->add_setting( 'header_columns', array( 'default' => 2 , 'sanitize_callback' => 'absint', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'header_columns_control', array( 'label' => __( 'Header layout', 'bakunin' ), 'description' => __( 'Number of columns on pc', 'bakunin' ), 'section' => 'layout_custom', 'settings' => 'header_columns', 'type' => 'select', 'choices' => array( '2' => 2, '1' => 1, ), 'priority' => 30, ) ) ); $wp_customize->add_setting( 'sidebar_layout', array( 'default' => 'right_sidebar', 'sanitize_callback' => 'sanitize_text_field', ), ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'sidebar_control', array( 'label' => __( 'Sidebar layout', 'bakunin' ), 'section' => 'layout_custom', 'settings' => 'sidebar_layout', 'type' => 'select', 'choices' => array( 'right_sidebar' => __( 'Rgiht sidebar', 'bakunin' ), 'left_sidebar' => __( 'Left sidebar', 'bakunin' ), '' => __( 'No sidebar', 'bakunin' ) ), 'priority' => 30, ) ) ); $wp_customize->add_setting( 'main_columns', array( 'default' => 'grid' , 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'main_columns_control', array( 'label' => __( 'Archives main layout', 'bakunin' ), 'section' => 'layout_custom', 'settings' => 'main_columns', 'type' => 'select', 'choices' => array( 'grid' => __( 'Grid layout', 'bakunin' ), 'one' => __( 'One column layout', 'bakunin' ), ), 'priority' => 30, ) ) ); $wp_customize->add_setting( 'footer_columns', array( 'default' => 3 , 'sanitize_callback' => 'absint', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'footer_columns_control', array( 'label' => __( 'Footer top layout', 'bakunin' ), 'description' => __( 'Number of columns on pc', 'bakunin' ), 'section' => 'layout_custom', 'settings' => 'footer_columns', 'type' => 'select', 'choices' => array( '3' => 3, '2' => 2, ), 'priority' => 30, ) ) ); /** * Color customize */ $primary_color = Bakunin_Color_Data::$primary_color; $insert_color = Bakunin_Color_Data::$primary_color; $secondary_text_color = Bakunin_Color_Data::$secondary_text_color; $wp_customize->add_section( 'color_custom', array( 'title' => __( 'Color Custom', 'bakunin' ), 'priority' => 30, ) ); $color_data =[ 'header_menu_text_color' =>[ 'default' => $secondary_text_color, 'label' => esc_html__( 'Header menu text color', 'bakunin' ) ], 'header_menu_bg_color' =>[ 'default' => $primary_color , 'label' => esc_html__( 'Header menu background color', 'bakunin' ) ], 'button_text_color' =>[ 'default' => $secondary_text_color, 'label' => esc_html__( 'Button text color', 'bakunin' ) ], 'button_bg_color' =>[ 'default' => $insert_color, 'label' => esc_html__( 'Button background color', 'bakunin' ) ] ]; foreach($color_data as $setting_name => $value){ $wp_customize->add_setting( $setting_name, array( 'default' => $value['default'] , 'sanitize_callback' => 'sanitize_hex_color', ) ); $control_name = $setting_name; $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, $control_name, array( 'label' => $value['label'], 'section' => 'color_custom', 'settings' => $setting_name, 'priority' => 30, ) ) ); } /** * Default remove */ $wp_customize->remove_section("colors"); } add_action( 'customize_register', 'bakunin_customize_register', 11 ); function bakunin_sidebar_control() { return get_theme_mod( 'sidebar_layout', 'right_sidebar' ); } add_action( 'wp_head', 'bakunin_sidebar_control'); /** * Add css */ function bakunin_customize_css() { $header_columns = get_theme_mod( 'header_columns', 2 ); if($header_columns == 1){ $header_columns_css = ' @media (min-width: 992px){ .site-header .site-header-inr { display: block; } .site-header-title-cv { justify-content: center; text-align: center; } .site-header .site-header-inr .site-header-item-title{ max-width: 100%; } .site-header-title-cv .site-header-logo a img{ margin:0 auto; } .site-header-description-cv .site-header-description{ text-align: center; } .site-header .site-header-inr .site-header-item-submenu, .site-header .site-header-inr .site-header-item-widget{ max-width: 100%; align-items: center; } .site-header-inr .site-header-submenu{ justify-content: center; } .site-header-inr .site-header-submenu li{ padding: 0.3rem 0.6rem; } } '; }else{ $header_columns_css = ''; } $sidebar = get_theme_mod( 'sidebar_layout', 'right_sidebar' ); if($sidebar == 'left_sidebar'){ $sidebar_position = ' @media (min-width: 992px){ .site-content .content-area{ flex-direction: row-reverse; } .sidebar { margin-right: 3.6rem; margin-left: 0; } } '; }else{ $sidebar_position = ''; } $main_columns = get_theme_mod( 'main_columns', 'grid' ); if($main_columns == "grid"){ $main_columns_css =''; }else{ $main_columns_css =' .site-main .site-main-items{ grid-template-columns: repeat(1, 1fr); } .site-main .site-main-items .entry-header .post-thumbnail img{ max-height: 280px; } @media (min-width: 768px){ .home article, .archive article, .search article{ display: flex; } .site-main .site-main-items .entry-header{ display: flex; justify-content: center; flex: 1 0 auto; max-width: 230px; } .site-main .site-main-items .entry-header .post-thumbnail{ margin-bottom: 0; padding-right: 1.8rem; } .site-main .site-main-items .entry-header .post-thumbnail img{ max-height: 180px; } .site-main .site-main-items .entry-content{ flex:1 1 auto; } } '; } $base_color = Bakunin_Color_Data::$base_color; $primary_color = Bakunin_Color_Data::$primary_color; $insert_color = Bakunin_Color_Data::$insert_color; $base_text_color = Bakunin_Color_Data::$base_text_color; $header_menu_text_color = get_theme_mod('header_menu_text_color', $base_color); $header_menu_bg_color = get_theme_mod('header_menu_bg_color', $primary_color); $button_text_color = get_theme_mod('button_text_color', $base_color); $button_bg_color = get_theme_mod('button_bg_color', $insert_color); $footer_columns = get_theme_mod('footer_columns', 3 ); $output_css = ''; $allowed_style_tag = array( 'style' => array( 'type' => array() ), ); echo wp_kses( $output_css, $allowed_style_tag ); } add_action( 'wp_head', 'bakunin_customize_css'); /** * Render the site title for the selective refresh partial. * @return void */ function bakunin_customize_partial_blogname() { bloginfo( 'name' ); } /** * Render the site tagline for the selective refresh partial. * @return void */ function bakunin_customize_partial_blogdescription() { bloginfo( 'description' ); } /** * Binds JS handlers to make Theme Customizer preview reload changes asynchronously. */ function bakunin_customize_preview_js() { wp_enqueue_script( 'bakunin-customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '20151215', true ); } add_action( 'customize_preview_init', 'bakunin_customize_preview_js' );