diff --git a/functions.php b/functions.php
index e143591..b8512c1 100644
--- a/functions.php
+++ b/functions.php
@@ -2,9 +2,9 @@
/**
* Theme functionality
- *
+ *
* @since 1.0.0
- *
+ *
* @package Trestle
*/
@@ -18,6 +18,9 @@ require_once dirname( __FILE__ ) . '/includes/functions/theme-functions.php';
// Admin functionality
require_once dirname( __FILE__ ) . '/includes/admin/admin.php';
+// Customizer controls
+require_once dirname( __FILE__ ) . '/includes/admin/customizer.php';
+
// Shortcodes
require_once dirname( __FILE__ ) . '/includes/shortcodes/shortcodes.php';
@@ -60,5 +63,4 @@ function trestle_theme_setup() {
// Add support for footer widgets if specified in Trestle settings
$trestle_footer_widgets_number = esc_attr( genesis_get_option( 'trestle_footer_widgets_number' ) );
add_theme_support( 'genesis-footer-widgets', $trestle_footer_widgets_number );
-
}
diff --git a/includes/admin/admin.css b/includes/admin/admin.css
deleted file mode 100644
index 8a9bf26..0000000
--- a/includes/admin/admin.css
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Trestle admin styles
- *
- * @since 1.0.0
- *
- * @package Trestle
- */
-
-.trestle-layout img {
- margin-right: 10px;
- border: 4px solid transparent;
- cursor: pointer;
-}
-
-.trestle-layout img:hover {
- border-color: #EEE;
-}
-
-.trestle-layout img.checked {
- border-color: #CCC;
-}
-
-/* Columns
---------------------------------------------- */
-.five-sixths,
-.four-sixths,
-.one-fourth,
-.one-half,
-.one-sixth,
-.one-third,
-.three-fourths,
-.three-sixths,
-.two-fourths,
-.two-sixths,
-.two-thirds,
-.footer-widgets .widget-area {
- float: left;
- margin: 0;
- width: 100%;
-}
-
-
-/* Media Queries
---------------------------------------------- */
-@media (min-width: 768px) {
-
- /* Columns
- --------------------------------------------- */
-
- .five-sixths,
- .four-sixths,
- .one-fourth,
- .one-half,
- .one-sixth,
- .one-third,
- .three-fourths,
- .three-sixths,
- .two-fourths,
- .two-sixths,
- .two-thirds,
- .footer-widgets .widget-area {
- margin-left: 2.564102564102564%;
- }
-
- .one-half,
- .three-sixths,
- .two-fourths,
- .footer-widgets-number-2 .footer-widgets .widget-area {
- width: 48.717948717948715%;
- }
-
- .one-third,
- .two-sixths,
- .sidebar-primary,
- .title-area,
- .footer-widgets-number-3 .footer-widgets .widget-area {
- width: 31.623931623931625%;
- }
-
- .four-sixths,
- .two-thirds,
- .content {
- width: 65.81196581196582%;
- }
-
- .one-fourth,
- .footer-widgets-number-4 .footer-widgets .widget-area {
- width: 23.076923076923077%;
- }
-
- .three-fourths {
- width: 74.35897435897436%;
- }
-
- .one-fifth,
- .footer-widgets-number-5 .footer-widgets .widget-area {
- width: 17.948717949%;
- }
-
- .one-sixth,
- .footer-widgets-number-6 .footer-widgets .widget-area {
- width: 14.52991452991453%;
- }
-
- .five-sixths {
- width: 82.90598290598291%;
- }
-
- .first,
- .footer-widgets .footer-widgets-1 {
- clear: both;
- margin-left: 0;
- }
-
- /* Lists inside columns (to remove bottom margin as needed at mobile sizes */
- .no-list-margin ul,
- .no-list-margin ol {
- margin-bottom: 26px;
- margin-bottom: 2.6rem;
- }
-
-}
\ No newline at end of file
diff --git a/includes/admin/admin.js b/includes/admin/admin.js
deleted file mode 100644
index c580186..0000000
--- a/includes/admin/admin.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * jQuery that runs in the WordPress admin
- *
- * @since 1.0.0
- *
- * @package Trestle
- */
-
-// Executes when the document is ready
-jQuery(document).ready(function() {
-
- // Hide Trestle layout radio buttons
- jQuery('.trestle-layout img').next('input[type="radio"]').hide();
-
- // Add radio button functionality to layout icons
- jQuery('.trestle-layout img').click(function() {
- jQuery(this).next('input[type="radio"]').attr('checked', true);
- jQuery('.trestle-layout img').removeClass('checked');
- jQuery(this).addClass('checked');
- });
-
- // Add drop-down functionality for Post Info & Meta options
- if( ! jQuery('#genesis-settings\\[trestle_manual_post_info_meta\\]').is(':checked') ) {
- jQuery('.trestle-post-info-meta').hide();
- }
-
- jQuery('#genesis-settings\\[trestle_manual_post_info_meta\\]').change(function() {
- jQuery('.trestle-post-info-meta').slideToggle();
- });
-
- // Add drop-down functionality for equal height breakpoint
- if( ! jQuery('#genesis-settings\\[trestle_equal_height_cols\\]').is(':checked') ) {
- jQuery('.trestle-equal-columns-breakpoint').hide();
- }
-
- jQuery('#genesis-settings\\[trestle_equal_height_cols\\]').change(function() {
- jQuery('.trestle-equal-columns-breakpoint').slideToggle();
- });
-
-}); /* end of as page load scripts */
diff --git a/includes/admin/admin.php b/includes/admin/admin.php
index ae6b9f3..a4a4f76 100644
--- a/includes/admin/admin.php
+++ b/includes/admin/admin.php
@@ -14,37 +14,28 @@ add_action( 'admin_enqueue_scripts', 'trestle_admin_actions' );
* @since 1.0.0
*/
function trestle_admin_actions() {
- // Add admin jQuery
- wp_enqueue_script( 'trestle-admin-jquery', get_stylesheet_directory_uri() . '/includes/admin/admin.js', array( 'jquery' ), '1.0.0', true );
- // Add admin jQuery
- wp_enqueue_style( 'trestle-admin', get_stylesheet_directory_uri() . '/includes/admin/admin.css' );
-
- // Add admin CSS
- add_editor_style( get_stylesheet_directory_uri() . '/includes/admin/editor-style.css' );
+ // Include the main stylesheet in the editor
+ add_editor_style( get_stylesheet_uri() );
}
add_filter( 'genesis_theme_settings_defaults', 'trestle_custom_defaults' );
/**
* Sets up Trestle default settings.
*
- * @since 1.0.0
+ * @since 1.0.0
*
- * @param array $defaults Genesis default settings.
- * @return array Genesis settings updated to include Trestle defaults.
+ * @param array $defaults Genesis default settings.
+ * @return array Genesis settings updated to include Trestle defaults.
*/
function trestle_custom_defaults( $defaults ) {
+
// Trestle default key/value pairs
$trestle_defaults = array(
'trestle_layout' => 'solid',
'trestle_logo_url' => '',
'trestle_logo_url_mobile' => '',
'trestle_nav_primary_location' => 'full',
- 'trestle_auto_nav' => 0,
- 'trestle_auto_nav_depth' => 0,
- 'trestle_include_home_link' => 0,
- 'trestle_home_link_text' => __( 'Home', 'trestle' ),
- 'trestle_nav_button_text' => '[icon name="icon-list-ul"] ' . __( 'Navigation', 'trestle' ),
'trestle_read_more_text' => __( 'Read More »', 'trestle' ),
'trestle_revisions_number' => 3,
'trestle_footer_widgets_number' => 3,
@@ -54,267 +45,26 @@ function trestle_custom_defaults( $defaults ) {
$options = get_option( GENESIS_SETTINGS_FIELD );
foreach ( $trestle_defaults as $k => $v ) {
+
// Add defaults to Genesis default settings array
$defaults[$k] = $v;
// Update actual options if they don't yet exist
- if ( $options && ! array_key_exists( $k, $options ) )
+ if ( $options && ! array_key_exists( $k, $options ) )
$options[$k] = $v;
}
// Update options with defaults
update_option( GENESIS_SETTINGS_FIELD, $options );
-
+
return $defaults;
}
-add_action( 'genesis_settings_sanitizer_init', 'trestle_register_social_sanitization_filters' );
-/**
- * Adds sanitization for various Trestle admin settings.
- *
- * @since 1.0.0
- */
-function trestle_register_social_sanitization_filters() {
- // 1 or 0
- genesis_add_option_filter(
- 'one_zero',
- GENESIS_SETTINGS_FIELD,
- array(
- 'trestle_auto_nav',
- 'trestle_include_home_link',
- 'trestle_custom_nav_extras',
- 'trestle_manual_post_info_meta',
- 'trestle_equal_height_cols',
- 'trestle_external_link_icons',
- 'trestle_email_link_icons',
- 'trestle_pdf_link_icons',
- 'trestle_doc_link_icons',
- )
- );
-
- // Integer
- genesis_add_option_filter(
- 'absint',
- GENESIS_SETTINGS_FIELD,
- array(
- 'trestle_auto_nav_depth',
- 'trestle_revisions_number',
- 'trestle_footer_widgets_number',
- )
- );
-
- // No HTML
- genesis_add_option_filter(
- 'no_html',
- GENESIS_SETTINGS_FIELD,
- array(
- 'trestle_layout',
- 'trestle_nav_primary_location'
- )
- );
-
- // Safe HTML
- genesis_add_option_filter(
- 'safe_html',
- GENESIS_SETTINGS_FIELD,
- array(
- 'trestle_logo_url',
- 'trestle_logo_url_mobile',
- 'trestle_home_link_text',
- 'trestle_nav_button_text',
- 'trestle_custom_nav_extras_text',
- 'trestle_read_more_text'
- )
- );
-}
-
-add_action( 'genesis_theme_settings_metaboxes', 'trestle_register_settings_box' );
-/**
- * Registers Trestle admin settings box.
- *
- * @since 1.0.0
- *
- * @global array $_genesis_admin_settings Genesis admin settings.
- *
- * @param string $_genesis_theme_settings_pagehook Hook for main Genesis settings page in admin.
- */
-function trestle_register_settings_box( $_genesis_theme_settings_pagehook ) {
- global $_genesis_admin_settings;
-
- // Create Trestle settings metabox
- $settings_box_title = __( 'Trestle Settings by', 'trestle' ) . ' MIGHTYminnow';
- add_meta_box( 'trestle-settings', $settings_box_title, 'trestle_settings_box', $_genesis_theme_settings_pagehook, 'main', 'high' );
-}
-
-/**
- * Outputs contents of Trestle admin settings box on Genesis settings page.
- *
- * @since 1.0.0
- */
-function trestle_settings_box() {
- // Set path for image radio inputs
- $img_path = get_stylesheet_directory_uri() . '/images/admin/';
-
- ?>
-
-
-
/>
- />
-
/>
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- />
-
-
- ' . $i . '' . "\n";
- }
- ?>
-
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- />
-
-
-
-
-
-
-
-
- :
-
-
-
-
-
- ' . $i . '' . "\n";
- }
- ?>
-
-
-
-
-
- />
-
-
-
-
-
-
-
- ' . $i . '' . "\n";
- }
- ?>
-
-
-
-
- />
- />
- />
- />
-
-
' );
+ }
+
+ });
+ });
+
+ // Primary Nav Location
+ wp.customize( 'genesis-settings[trestle_nav_primary_location]', function( value ) {
+ value.bind( function( value ) {
+
+ var $body = $( 'body' );
+ var $nav = $( '.nav-primary' );
+
+ switch ( value ) {
+ case 'full':
+ $body.removeClass( 'nav-primary-location-header' )
+ .addClass( 'nav-primary-location-full' );
+ $nav.remove().insertAfter( '.site-header' );
+ break;
+ case 'header':
+ $body.removeClass( 'nav-primary-location-full' )
+ .addClass( 'nav-primary-location-header' );
+ $nav.remove().appendTo( '.site-header .wrap' );
+ break;
+ }
+
+ });
+ });
+
+ // Custom Read More Link Text
+ wp.customize( 'genesis-settings[trestle_read_more_text]', function( value ) {
+ value.bind( function( value ) {
+
+ $( 'a.more-link' ).text( value );
+
+ });
+ });
+
+ // External Links
+ wp.customize( 'genesis-settings[trestle_external_link_icons]', function( value ) {
+ value.bind( function( value ) {
+
+ var $body = $( 'body' );
+
+ if ( value ) {
+ $body.addClass( 'external-link-icons' );
+ } else {
+ $body.removeClass( 'external-link-icons' );
+ }
+
+ });
+ });
+
+ // Email Links
+ wp.customize( 'genesis-settings[trestle_email_link_icons]', function( value ) {
+ value.bind( function( value ) {
+
+ var $body = $( 'body' );
+
+ if ( value ) {
+ $body.addClass( 'email-link-icons' );
+ } else {
+ $body.removeClass( 'email-link-icons' );
+ }
+
+ });
+ });
+
+ // PDF Links
+ wp.customize( 'genesis-settings[trestle_pdf_link_icons]', function( value ) {
+ value.bind( function( value ) {
+
+ var $body = $( 'body' );
+
+ if ( value ) {
+ $body.addClass( 'pdf-link-icons' );
+ } else {
+ $body.removeClass( 'pdf-link-icons' );
+ }
+
+ });
+ });
+
+ // Doc Links
+ wp.customize( 'genesis-settings[trestle_doc_link_icons]', function( value ) {
+ value.bind( function( value ) {
+
+ var $body = $( 'body' );
+
+ if ( value ) {
+ $body.addClass( 'doc-link-icons' );
+ } else {
+ $body.removeClass( 'doc-link-icons' );
+ }
+
+ });
+ });
+
+})( jQuery );
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',
+ )
+ );
+
+}
diff --git a/includes/admin/editor-style.css b/includes/admin/editor-style.css
deleted file mode 100644
index 4d17d21..0000000
--- a/includes/admin/editor-style.css
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Trestle editor styles
- *
- * @since 1.0.0
- *
- * @package Trestle
- */
-
-@import url( '../../style.css' );
-
-/* Overrides
---------------------------------------------- */
-body {
- padding: 8px 16px;
- background-color: #FFF;
- background-image: none;
-}
-
-.content {
- width: 100%;
- font-size: 1.6rem;
-}
-
-.content a {
- color: #f15123;
-}
-
-.content a:hover {
- color: #333;
-}
-
-.content ul,
-.content ol {
- margin: 0 0 26px 40px;
- margin: 0 0 2.6rem 4rem;
-}
\ No newline at end of file
diff --git a/includes/functions/theme-functions.php b/includes/functions/theme-functions.php
index 3965264..b79732d 100644
--- a/includes/functions/theme-functions.php
+++ b/includes/functions/theme-functions.php
@@ -48,7 +48,7 @@ add_action( 'wp_enqueue_scripts', 'trestle_header_actions' );
* @since 1.0.0
*/
function trestle_header_actions() {
-
+
// Google fonts
wp_enqueue_style( 'theme-google-fonts', '//fonts.googleapis.com/css?family=Lato:300,400,700' );
@@ -64,7 +64,7 @@ function trestle_header_actions() {
$custom_css_file = '/trestle/custom.css';
if ( is_readable( $upload_path . $custom_css_file ) )
wp_enqueue_style( 'trestle-custom-css', $upload_url . $custom_css_file );
-
+
// Custom jQuery (if it exists)
$custom_js_file = '/trestle/custom.js';
if ( is_readable( $upload_path . $custom_js_file ) )
@@ -100,7 +100,7 @@ add_filter( 'body_class', 'trestle_body_classes' );
* @return array Updated body classes.
*/
function trestle_body_classes( $classes ) {
-
+
// Add 'no-jquery' class to be removed by jQuery if enabled
$classes[] = 'no-jquery';
@@ -121,19 +121,15 @@ function trestle_body_classes( $classes ) {
// Add menu style class
if ( genesis_get_option( 'trestle_nav_primary_location' ) )
$classes[] = 'nav-primary-location-' . esc_attr( genesis_get_option( 'trestle_nav_primary_location' ) );
-
+
// Add footer widget number class
if ( genesis_get_option( 'trestle_footer_widgets_number' ) )
$classes[] = 'footer-widgets-number-' . esc_attr( genesis_get_option( 'trestle_footer_widgets_number' ) );
- // Add class for equal height Genesis Extender columns
- if ( 1 == genesis_get_option( 'trestle_equal_height_cols' ) )
- $classes[] = 'equal-height-genesis-extender-cols';
-
// Add logo class
if ( genesis_get_option( 'trestle_logo_url' ) || genesis_get_option( 'trestle_logo_url_mobile' ) )
$classes[] = 'has-logo';
-
+
return $classes;
}
@@ -150,6 +146,7 @@ add_filter( 'genesis_seo_title', 'trestle_do_logos', 10, 3 );
* @since 1.0.0
*/
function trestle_do_logos( $title, $inside, $wrap ) {
+
$logo_url = genesis_get_option( 'trestle_logo_url' );
$logo_url_mobile = genesis_get_option( 'trestle_logo_url_mobile' );
$logo_html = '';
@@ -167,7 +164,7 @@ function trestle_do_logos( $title, $inside, $wrap ) {
$logo_html .= sprintf( '
',
implode(' ', $classes),
esc_attr( get_bloginfo( 'name' ) ),
- $logo_url
+ $logo_url
);
}
@@ -184,8 +181,8 @@ function trestle_do_logos( $title, $inside, $wrap ) {
$logo_html .= sprintf( '
',
implode(' ', $classes),
esc_attr( get_bloginfo( 'name' ) ),
- $logo_url_mobile
- );
+ $logo_url_mobile
+ );
}
if ( $logo_html ) {
@@ -196,11 +193,11 @@ function trestle_do_logos( $title, $inside, $wrap ) {
);
}
- //* Build the title
+ // Build the title
$title = genesis_html5() ? sprintf( "<{$wrap} %s>", genesis_attr( 'site-title' ) ) : sprintf( '<%s id="title">%s%s>', $wrap, $inside, $wrap );
$title .= genesis_html5() ? "{$inside}{$wrap}>" : '';
- //* Echo (filtered)
+ // Echo (filtered)
return $title;
}
@@ -221,6 +218,7 @@ add_action( 'init', 'trestle_nav_modifications' );
* @see trestle_nav_placeholder()
*/
function trestle_nav_modifications() {
+
global $trestle_nav_title;
// Set title for Trestle placeholder navigation menu
@@ -235,7 +233,7 @@ function trestle_nav_modifications() {
if ( 1 == genesis_get_option( 'trestle_custom_nav_extras' ) ) {
// Remove default nav extras
remove_filter( 'wp_nav_menu_items', 'genesis_nav_right' );
-
+
// Add custom nav extras
add_filter( 'wp_nav_menu_items', 'trestle_custom_nav_extras', 10, 2 );
}
@@ -269,6 +267,7 @@ function trestle_nav_primary_location() {
* @return string list of (modified) navigation menu items.
*/
function trestle_auto_nav_items( $nav_items, stdClass $menu_args ) {
+
if ( 'primary' == $menu_args->theme_location ) {
$args = array(
'depth' => genesis_get_option( 'trestle_auto_nav_depth' ) ? genesis_get_option( 'trestle_auto_nav_depth' ) : 0,
@@ -291,7 +290,7 @@ function trestle_auto_nav_items( $nav_items, stdClass $menu_args ) {
// Remove closing
$nav_items = preg_replace( '/<\/ul>\s*<\/div>/', '', $nav_items );
}
-
+
return $nav_items;
}
@@ -305,6 +304,7 @@ function trestle_auto_nav_items( $nav_items, stdClass $menu_args ) {
* @return string list of menu items with custom navigation extras appended.
*/
function trestle_custom_nav_extras( $nav_items, stdClass $menu_args ) {
+
if ( 'primary' == $menu_args->theme_location ) {
$custom_text = esc_attr( genesis_get_option( 'trestle_custom_nav_extras_text' ) );
return $nav_items . '' . do_shortcode( genesis_get_option( 'trestle_custom_nav_extras_text' ) ) . '';
@@ -323,6 +323,7 @@ function trestle_custom_nav_extras( $nav_items, stdClass $menu_args ) {
* @since 1.0.0
*/
function trestle_nav_placeholder() {
+
global $trestle_nav_title;
// Create placeholder menu for 'primary' spot if auto-nav is selected - this ensures that nav extras can be used even when no custom menu is formally set to primary
@@ -351,7 +352,7 @@ function trestle_nav_placeholder() {
add_filter( 'wp_revisions_to_keep', 'trestle_update_revisions_number', 10, 2 );
/**
- * Sets the number of post revisions.
+ * Sets the number of post revisions.
*
* @since 1.0.0
*
@@ -359,6 +360,7 @@ add_filter( 'wp_revisions_to_keep', 'trestle_update_revisions_number', 10, 2 );
* @return int Number of post revisions specified in Trestle admin panel.
*/
function trestle_update_revisions_number( $num ) {
+
$trestle_revisions_number = esc_attr( genesis_get_option( 'trestle_revisions_number' ) );
if ( isset( $trestle_revisions_number ) )
@@ -377,13 +379,14 @@ add_action( 'the_post', 'trestle_post_info_meta', 5 );
* @global object $post The current $post object.
*/
function trestle_post_info_meta() {
+
if ( ! is_admin() && in_the_loop() && genesis_get_option( 'trestle_manual_post_info_meta' ) ) {
global $post;
// Get post type
$post_type = get_post_type( $post->ID );
-
+
// Remove all Post Info & Meta
remove_action( 'genesis_entry_header', 'genesis_post_info', 12 );
remove_action( 'genesis_entry_footer', 'genesis_post_meta' );
@@ -392,7 +395,7 @@ function trestle_post_info_meta() {
if ( is_singular() ) {
$single_info_option = 'trestle_post_info_' . $post_type . '_single';
$single_meta_option = 'trestle_post_meta_' . $post_type . '_single';
-
+
// Post Info
if ( genesis_get_option( $single_info_option ) )
add_action( 'genesis_entry_header', 'genesis_post_info', 12 );
@@ -406,7 +409,7 @@ function trestle_post_info_meta() {
if ( ! is_singular() ) {
$archive_info_option = 'trestle_post_info_' . $post_type . '_archive';
$archive_meta_option = 'trestle_post_meta_' . $post_type . '_archive';
-
+
// Post Info
if ( genesis_get_option( $archive_info_option ) )
add_action( 'genesis_entry_header', 'genesis_post_info', 12 );
@@ -432,7 +435,9 @@ add_filter( 'genesis_get_image_default_args', 'trestle_featured_image_fallback'
* @return array Updated image args
*/
function trestle_featured_image_fallback( $args ) {
+
$args['fallback'] = false;
+
return $args;
}
@@ -453,10 +458,15 @@ add_filter( 'the_content_more_link', 'trestle_read_more_link' );
* @return string (Updated) "read more" text.
*/
function trestle_read_more_link( $default_text ) {
+
// Get Trestle custom "read more" link text
$custom_text = esc_attr( genesis_get_option( 'trestle_read_more_text' ) );
+<<<<<<< HEAD
if ( $custom_text ) {
+=======
+ if ( $custom_text )
+>>>>>>> 9de3310f116bb4f7dd5323ca40b16f2fe4160dcd
return '… ' . $custom_text . '';
} else {
return $default_text;
diff --git a/includes/js/theme-jquery.js b/includes/js/theme-jquery.js
index 6072145..aacf0df 100644
--- a/includes/js/theme-jquery.js
+++ b/includes/js/theme-jquery.js
@@ -9,132 +9,132 @@
// Executes when the document is ready
jQuery( document ).ready( function( $ ) {
- // Remove .no-jquery body class
- $( 'body' ).removeClass( 'no-jquery' );
+ // Remove .no-jquery body class
+ $( 'body' ).removeClass( 'no-jquery' );
- // External Links
- var h = window.location.host.toLowerCase();
- $( '[href^="http"]' ).not( '[href*="' + h + '"]' ).addClass( 'external-link' ).attr( "target", "_blank" );
+ // External Links
+ var h = window.location.host.toLowerCase();
+ $( '[href^="http"]' ).not( '[href*="' + h + '"]' ).addClass( 'external-link' ).attr( "target", "_blank" );
- // Add classes to different types of links
- $( 'a[href^="mailto:"]' ).addClass( 'email-link' );
- $( 'a[href$=".pdf"]' ).attr({ "target":"_blank" }).addClass( 'pdf-link' );
- $( 'a[href$=".doc"]' ).attr({ "target":"_blank" }).addClass( 'doc-link' );
- $( 'a' ).has( 'img' ).addClass( 'image-link' );
+ // Add classes to different types of links
+ $( 'a[href^="mailto:"]' ).addClass( 'email-link' );
+ $( 'a[href$=".pdf"]' ).attr({ "target":"_blank" }).addClass( 'pdf-link' );
+ $( 'a[href$=".doc"]' ).attr({ "target":"_blank" }).addClass( 'doc-link' );
+ $( 'a' ).has( 'img' ).addClass( 'image-link' );
- // Add classes to parts of lists
- $( 'li:last-child' ).addClass( 'last' );
- $( 'li:first-child' ).addClass( 'first' );
- $( 'ul, ol' ).parent( 'li' ).addClass( 'parent' );
+ // Add classes to parts of lists
+ $( 'li:last-child' ).addClass( 'last' );
+ $( 'li:first-child' ).addClass( 'first' );
+ $( 'ul, ol' ).parent( 'li' ).addClass( 'parent' );
- // Mobile header toggle buttons
- $( '.site-header .title-area' ).after( '' );
- $( '.site-header .widget-area, .nav-primary' ).each( function( i ) {
+ // Mobile header toggle buttons
+ $( '.site-header .title-area' ).after( '' );
+ $( '.site-header .widget-area, .nav-primary' ).each( function( i ) {
- // Store target
- $target = $( this );
+ // Store target
+ $target = $( this );
- // Scope variables
- var $target, buttonClass, targetClass;
+ // Scope variables
+ var $target, buttonClass, targetClass;
- // Setup classes
- buttonClass = 'toggle-button';
- targetClass = $target.attr( 'class' ).split( /\s+/ );
+ // Setup classes
+ buttonClass = 'toggle-button';
+ targetClass = $target.attr( 'class' ).split( /\s+/ );
- // Add targets-[] class to buttonClass
- $.each( targetClass, function( index, value ) {
- buttonClass += ' targets-' + value;
- });
+ // Add targets-[] class to buttonClass
+ $.each( targetClass, function( index, value ) {
+ buttonClass += ' targets-' + value;
+ });
- // Add nav-toggle class to buttonClass if the button is for the nav
- if ( $target.is( 'nav' ) ) {
- buttonClass += ' nav-toggle';
- }
+ // Add nav-toggle class to buttonClass if the button is for the nav
+ if ( $target.is( 'nav' ) ) {
+ buttonClass += ' nav-toggle';
+ }
- // Add toggle buttons to header
- $( '.toggle-buttons' ).prepend( 'Toggle' );
+ // Add toggle buttons to header
+ $( '.toggle-buttons' ).prepend( 'Toggle' );
- // Add target class to nav and widget areas
- $target.addClass( 'toggle-target-' + i );
- });
+ // Add target class to nav and widget areas
+ $target.addClass( 'toggle-target-' + i );
+ });
- // Toggle widget areas and primary nav
- $( '.site-header .toggle-button' ).click( function( event ) {
+ // Toggle widget areas and primary nav
+ $( '.site-header .toggle-button' ).click( function( event ) {
- // Prevent default behavior
- event.preventDefault();
+ // Prevent default behavior
+ event.preventDefault();
- // Scope our variables
- var $button, $target;
+ // Scope our variables
+ var $button, $target;
- // Get toggle button that was clicked
- $button = $( this );
+ // Get toggle button that was clicked
+ $button = $( this );
- //Remove focus
- $button.blur();
+ //Remove focus
+ $button.blur();
- // Match the button to the right target
- $target = $( '.toggle-target-' + $button.attr( 'id' ).match( /\d+/ ) );
+ // Match the button to the right target
+ $target = $( '.toggle-target-' + $button.attr( 'id' ).match( /\d+/ ) );
- // Toggle buttons
- $button.toggleClass( 'open' );
- $( '.site-header .toggle-button' ).not( $button ).removeClass( 'open' );
+ // Toggle buttons
+ $button.toggleClass( 'open' );
+ $( '.site-header .toggle-button' ).not( $button ).removeClass( 'open' );
- // Toggle targets
- $target.toggleClass( 'open' );
- $( '[class^="toggle-target"]' ).not( $target ).removeClass( 'open' );
- });
+ // Toggle targets
+ $target.toggleClass( 'open' );
+ $( '[class^="toggle-target"]' ).not( $target ).removeClass( 'open' );
+ });
- // Mobile navigation icons
- var closedIcon = '+';
- var openIcon = '-';
+ // Mobile navigation icons
+ var closedIcon = '+';
+ var openIcon = '-';
- // Insert the icons into the nav where appropriate
- $( '.nav-primary' ).find( '.genesis-nav-menu .parent:not( .current-menu-item, .current_page_item, .current_page_parent, .current_page_ancestor) > a' ).after( '' + closedIcon + '' );
- $( '.nav-primary' ).find( '.genesis-nav-menu .parent.current-menu-item > a, .genesis-nav-menu .parent.current_page_item > a, .genesis-nav-menu .parent.current_page_parent > a, .genesis-nav-menu .parent.current_page_ancestor > a' ).after( '' + openIcon + '' );
+ // Insert the icons into the nav where appropriate
+ $( '.nav-primary' ).find( '.genesis-nav-menu .parent:not( .current-menu-item, .current_page_item, .current_page_parent, .current_page_ancestor) > a' ).after( '' + closedIcon + '' );
+ $( '.nav-primary' ).find( '.genesis-nav-menu .parent.current-menu-item > a, .genesis-nav-menu .parent.current_page_item > a, .genesis-nav-menu .parent.current_page_parent > a, .genesis-nav-menu .parent.current_page_ancestor > a' ).after( '' + openIcon + '' );
- // Mobile navigation expand/contract functionality
- $( '.sub-icon' ).click( function( event ) {
+ // Mobile navigation expand/contract functionality
+ $( '.sub-icon' ).click( function( event ) {
- // Prevent default behavior
- event.preventDefault();
+ // Prevent default behavior
+ event.preventDefault();
- // Get icon click
- var $icon = $( this );
+ // Get icon click
+ var $icon = $( this );
- // Remove focus
- $icon.blur();
+ // Remove focus
+ $icon.blur();
- // Expand/contract
- $icon.next( 'ul' ).slideToggle().toggleClass( 'open' );
+ // Expand/contract
+ $icon.next( 'ul' ).slideToggle().toggleClass( 'open' );
- // Change the icon to indicate open/closed
- if ( $icon.text().indexOf( closedIcon ) !== -1 ) {
- $icon.text( openIcon );
- } else if ( $icon.text().indexOf( openIcon ) !== -1 ) {
- $icon.text( closedIcon );
- }
- });
+ // Change the icon to indicate open/closed
+ if ( $icon.text().indexOf( closedIcon ) !== -1 ) {
+ $icon.text( openIcon );
+ } else if ( $icon.text().indexOf( openIcon ) !== -1 ) {
+ $icon.text( closedIcon );
+ }
+ });
- // Header widget area expand/contract functionality
- $( '.widget-area-toggle' ).click( function( event ) {
+ // Header widget area expand/contract functionality
+ $( '.widget-area-toggle' ).click( function( event ) {
- // Prevent default behavior
- event.preventDefault();
+ // Prevent default behavior
+ event.preventDefault();
- // Get button clicked
- var $button = $( this );
+ // Get button clicked
+ var $button = $( this );
- // Remove focus
- $button.blur();
+ // Remove focus
+ $button.blur();
- // Expand/contract
- $button.toggleClass( 'open' ).next( '.widget-area' ).slideToggle();
- });
+ // Expand/contract
+ $button.toggleClass( 'open' ).next( '.widget-area' ).slideToggle();
+ });
- // Executes when complete page is fully loaded, including all frames, objects, and images
- $( window ).on( 'load', function() {
+ // Executes when complete page is fully loaded, including all frames, objects, and images
+ $( window ).on( 'load', function() {
- });
+ });
}); /* end of page load scripts */
\ No newline at end of file
diff --git a/style.css b/style.css
index 7e07657..3aaf97d 100644
--- a/style.css
+++ b/style.css
@@ -151,6 +151,10 @@ body {
line-height: 1.625;
}
+body.mce-content-body {
+ width: 100%; /* Used in the editor */
+}
+
body.bubble {
background-color: #f5f5f5;
}
@@ -213,7 +217,9 @@ ul {
}
.site-inner ol,
-.site-inner ul {
+.site-inner ul,
+.mce-content-body ol, /* Used in the editor */
+.mce-content-body ul { /* used in the editor */
margin-left: 40px;
margin-left: 4rem;
margin-bottom: 26px;
@@ -296,12 +302,14 @@ a:hover {
color: #333;
}
-.site-inner a {
+.site-inner a,
+.mce-content-body a { /* Used in the Editor */
border-bottom: 1px solid #ddd;
color: #f15123;
}
-.site-inner a:hover {
+.site-inner a:hover,
+.mce-content-body a:hover { /* Used in the Editor */
color: #333;
}
@@ -467,8 +475,8 @@ textarea {
}
input[type="radio"],
-input[type="radio"],
-input[type="checkbox"] {
+input[type="checkbox"],
+input[type="image"] {
width: auto;
}
@@ -1360,9 +1368,14 @@ Site Header
.site-header .widget-area {
width: 100%;
- padding: 20px;
background-color: #eee;
border: 1px solid #ddd;
+ border-width: 0;
+ overflow: hidden;
+}
+
+.site-header .widget-area.open {
+ padding: 20px;
border-width: 1px 0;
}
@@ -1403,7 +1416,7 @@ Site Header
.nav-primary,
-.site-header .nav-primary,
+/*.site-header .nav-primary,*/
.site-header .widget-area {
position: absolute;
top: 100%;
@@ -1413,11 +1426,11 @@ Site Header
opacity: 0;
box-shadow: 0 4px 8px 1px rgba(0,0,0,0.4);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
- -webkit-transition: all .5s ease;
- -moz-transition: all .5s ease;
- -ms-transition: all .5s ease;
- -o-transition: all .5s ease;
- transition: all .5s ease;
+ -webkit-transition: all .5s ease, padding 0s .5s;
+ -moz-transition: all .5s ease, padding 0s .5s;
+ -ms-transition: all .5s ease, padding 0s .5s;
+ -o-transition: all .5s ease, padding 0s .5s;
+ transition: all .5s ease, padding 0s .5s;
}
.site-container > .nav-primary {
@@ -1429,7 +1442,12 @@ Site Header
z-index: 50;
max-height: 9999px;
opacity: 1;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-transition: opacity .5s ease, padding 0s 0s;
+ -moz-transition: opacity .5s ease, padding 0s 0s;
+ -ms-transition: opacity .5s ease, padding 0s 0s;
+ -o-transition: opacity .5s ease, padding 0s 0s;
+ transition: opacity .5s ease, padding 0s 0s;
}