diff --git a/includes/admin/customizer.php b/includes/admin/customizer.php new file mode 100644 index 0000000..39e7526 --- /dev/null +++ b/includes/admin/customizer.php @@ -0,0 +1,324 @@ +add_section( + 'trestle_settings_section', + array( + 'title' => __( 'Trestle Settings', 'trestle' ), + 'priority' => 160, + ) + ); + + // Layout + $wp_customize->add_setting( + 'genesis-settings[trestle_layout]', + array( + 'default' => '', + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_layout_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_layout]', + 'label' => __( 'Layout', 'trestle' ), + 'type' => 'radio', + 'choices' => array( + 'bubble' => __( 'Bubble', 'trestle' ), + 'solid' => __( 'Solid', 'trestle' ), + ) + ) + ); + + // Upload a logo + $wp_customize->add_setting( + 'genesis-settings[trestle_logo_url]', + array( + 'default' => genesis_get_option( 'trestle_logo_url' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + new WP_Customize_Image_Control( + $wp_customize, + 'trestle_logo_control', + array( + 'label' => __( 'Upload a logo', 'trestle' ), + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_logo_url]', + ) + ) + ); + + // Upload a mobile logo + $wp_customize->add_setting( + 'genesis-settings[trestle_logo_url_mobile]', + array( + 'default' => genesis_get_option( 'trestle_logo_url_mobile' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + new WP_Customize_Image_Control( + $wp_customize, + 'trestle_mobile_logo_control', + array( + 'label' => __( 'Upload a logo for mobile', 'trestle' ), + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_logo_url_mobile]', + ) + ) + ); + + // Primary nav style + $wp_customize->add_setting( + 'genesis-settings[trestle_nav_primary_location]', + array( + 'default' => genesis_get_option( 'trestle_nav_primary_location' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_nav_primary_location_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_nav_primary_location]', + 'label' => __( 'Menu style', 'trestle' ), + 'type' => 'select', + 'choices' => array( + 'full' => __( 'Full Width', 'trestle' ), + 'header' => __( 'Header Right', 'trestle' ), + ) + ) + ); + + // Blog post custom read more link text + $wp_customize->add_setting( + 'genesis-settings[trestle_read_more_text]', + array( + 'default' => genesis_get_option( 'trestle_read_more_text' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + 'sanitize_callback' => 'wp_kses_post', + ) + ); + $wp_customize->add_control( + 'trestle_read_more_text_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_read_more_text]', + 'label' => __( 'Custom read more link text', 'trestle' ), + ) + ); + + // Post revisions number + $wp_customize->add_setting( + 'genesis-settings[trestle_revisions_number]', + array( + 'default' => genesis_get_option( 'trestle_revisions_number' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_revisions_number_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_revisions_number]', + 'label' => __( 'Number of post revisions', 'trestle' ), + 'type' => 'select', + 'choices' => array( + '-1' => __( 'Unlimited', 'trestle' ), + '0' => '0', + '1' => '1', + '2' => '2', + '3' => '3', + '4' => '4', + '5' => '5', + '6' => '6', + '7' => '7', + '8' => '8', + '9' => '9', + '10' => '10', + ) + ) + ); + + // Footer Widget Areas + $wp_customize->add_setting( + 'genesis-settings[trestle_footer_widgets_number]', + array( + 'default' => genesis_get_option( 'trestle_footer_widgets_number' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_footer_widgets_number_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_footer_widgets_number]', + 'label' => __( 'Number of footer widgets', 'trestle' ), + 'type' => 'select', + 'choices' => array( + '0' => '0', + '1' => '1', + '2' => '2', + '3' => '3', + '4' => '4', + '5' => '5', + '6' => '6', + ) + ) + ); + + // Add a label for the link icons + $wp_customize->add_setting( + 'genesis-settings[trestle_link_icons_title]', + array( + 'default' => '', + 'type' => 'option', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_link_icons_title', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_link_icons_title]', + 'label' => __( 'Icon links', 'trestle' ), + 'type' => 'hidden', + ) + ); + + // External Link Icons + $wp_customize->add_setting( + 'genesis-settings[trestle_external_link_icons]', + array( + 'default' => genesis_get_option( 'trestle_external_link_icons' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_external_link_icons', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_external_link_icons]', + 'label' => __( 'Add icons to external links', 'trestle' ), + 'type' => 'checkbox', + ) + ); + + // E-mail Link Icons + $wp_customize->add_setting( + 'genesis-settings[trestle_email_link_icons]', + array( + 'default' => genesis_get_option( 'trestle_email_link_icons' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_email_link_icons', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_email_link_icons]', + 'label' => __( 'Add icons to email links', 'trestle' ), + 'type' => 'checkbox', + ) + ); + + // PDF Link Icons + $wp_customize->add_setting( + 'genesis-settings[trestle_pdf_link_icons]', + array( + 'default' => genesis_get_option( 'trestle_pdf_link_icons' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_pdf_link_icons', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_pdf_link_icons]', + 'label' => __( 'Add icons to .pdf links', 'trestle' ), + 'type' => 'checkbox', + ) + ); + + // Doc Link Icons + $wp_customize->add_setting( + 'genesis-settings[trestle_doc_link_icons]', + array( + 'default' => genesis_get_option( 'trestle_doc_link_icons' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_doc_link_icons', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_doc_link_icons]', + 'label' => __( 'Add icons to .doc links', 'trestle' ), + 'type' => 'checkbox', + ) + ); + +}