add settings to customizer for sidebar nav

This commit is contained in:
Jonas Heinrich 2020-06-06 15:01:00 +02:00
parent 0892fab0ac
commit cfe79db5b1
2 changed files with 48 additions and 29 deletions

View file

@ -8,22 +8,25 @@ function kit_setup() {
add_theme_support( 'post-thumbnails' );
add_theme_support( 'custom-logo' );
register_nav_menus( array(
'primary' => 'Main Menu',
'secondary' => 'Footer Menu',
'extra' => 'Extra Menu'
) );
};
add_action( 'after_setup_theme', 'kit_setup' );
# Registering menus
register_nav_menus( array(
'primary' => 'Main Menu',
'secondary' => 'Footer Menu',
'extra' => 'Extra Menu'
) );
function add_menu_link_class( $atts, $item, $args ) {
if (property_exists($args, 'link_class')) {
$atts['class'] = $args->link_class;
}
return $atts;
}
add_filter( 'nav_menu_link_attributes', 'add_menu_link_class', 1, 3 );
class kit_custom_main_menu extends Walker_Nav_Menu {
@ -125,6 +128,8 @@ class kit_custom_main_menu extends Walker_Nav_Menu {
}
# Custom size settings for customizer
function theme_customize_register( $wp_customize ) {
$wp_customize->add_setting( 'theme_color', array(
@ -132,40 +137,52 @@ function theme_customize_register( $wp_customize ) {
'transport' => 'refresh',
) );
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'theme_color', array(
$wp_customize->add_control( new WP_Customize_Color_Control(
$wp_customize, 'theme_color', array(
'section' => 'colors',
'label' => esc_html__( 'Theme color', 'theme' ),
) ) );
$wp_customize->add_section( 'kit_advanced_settings' , array(
'title' => __('Advanced settings','kit'),
'priority' => 30,
$wp_customize->add_setting( 'kit_sidenav-mail', array(
'default' => '',
'type' => 'option',
'capability' => 'edit_theme_options'
),
);
$wp_customize->add_control( new WP_Customize_Control(
$wp_customize, 'sidenav_mail_control', array(
'label' => __( 'Contact mail', 'kit' ),
'description' => __( 'Mail address used in sidebar menu', 'kit' ),
'settings' => 'kit_sidenav-mail',
'priority' => 10,
'section' => 'title_tagline',
'type' => 'text',
)
) );
$wp_customize->add_setting( 'kit_url_setting_id', array(
'capability' => 'edit_theme_options',
'sanitize_callback' => 'kit_sanitize_url',
) );
$wp_customize->add_setting( 'kit_sidenav-faqpage', array(
'sanitize_callback' => 'absint',
'default' => ''
),
);
$wp_customize->add_control( 'kit_url_setting_id', array(
'type' => 'url',
'section' => 'nav',
'label' => __( 'Custom URL' ),
'description' => __( 'This is a custom url input.' ),
'input_attrs' => array(
'placeholder' => __( 'http://www.google.com' ),
),
$wp_customize->add_control( new WP_Customize_Control(
$wp_customize, 'kit_sidenav-faqpage', array(
'label' => __( 'FAQ page', 'kit' ),
'description' => __( 'FAQ page used in sidebar menu', 'kit' ),
'settings' => 'kit_sidenav-faqpage',
'section' => 'title_tagline',
'type' => 'dropdown-pages',
)
) );
function kit_sanitize_url( $url ) {
return esc_url_raw( $url );
}
}
add_action( 'customize_register', 'kit_advanced_settings' );
add_action( 'customize_register', 'theme_customize_register' );
# Apply custom CSS settings
function kit_customize_css()
{
?>
@ -291,8 +308,10 @@ function kit_customize_css()
</style>
<?php
}
add_action( 'wp_head', 'kit_customize_css');
# Search customizations
function kit_modify_posts_per_page( $query ) {
if ( $query->is_search() ) {