This commit is contained in:
MickeyKay
2015-03-23 12:16:06 -07:00
10 changed files with 631 additions and 587 deletions
+3 -1
View File
@@ -18,6 +18,9 @@ require_once dirname( __FILE__ ) . '/includes/functions/theme-functions.php';
// Admin functionality // Admin functionality
require_once dirname( __FILE__ ) . '/includes/admin/admin.php'; require_once dirname( __FILE__ ) . '/includes/admin/admin.php';
// Customizer controls
require_once dirname( __FILE__ ) . '/includes/admin/customizer.php';
// Shortcodes // Shortcodes
require_once dirname( __FILE__ ) . '/includes/shortcodes/shortcodes.php'; 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 // Add support for footer widgets if specified in Trestle settings
$trestle_footer_widgets_number = esc_attr( genesis_get_option( 'trestle_footer_widgets_number' ) ); $trestle_footer_widgets_number = esc_attr( genesis_get_option( 'trestle_footer_widgets_number' ) );
add_theme_support( 'genesis-footer-widgets', $trestle_footer_widgets_number ); add_theme_support( 'genesis-footer-widgets', $trestle_footer_widgets_number );
} }
-122
View File
@@ -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;
}
}
-40
View File
@@ -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 */
+8 -257
View File
@@ -14,37 +14,28 @@ add_action( 'admin_enqueue_scripts', 'trestle_admin_actions' );
* @since 1.0.0 * @since 1.0.0
*/ */
function trestle_admin_actions() { 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 // Include the main stylesheet in the editor
wp_enqueue_style( 'trestle-admin', get_stylesheet_directory_uri() . '/includes/admin/admin.css' ); add_editor_style( get_stylesheet_uri() );
// Add admin CSS
add_editor_style( get_stylesheet_directory_uri() . '/includes/admin/editor-style.css' );
} }
add_filter( 'genesis_theme_settings_defaults', 'trestle_custom_defaults' ); add_filter( 'genesis_theme_settings_defaults', 'trestle_custom_defaults' );
/** /**
* Sets up Trestle default settings. * Sets up Trestle default settings.
* *
* @since 1.0.0 * @since 1.0.0
* *
* @param array $defaults Genesis default settings. * @param array $defaults Genesis default settings.
* @return array Genesis settings updated to include Trestle defaults. * @return array Genesis settings updated to include Trestle defaults.
*/ */
function trestle_custom_defaults( $defaults ) { function trestle_custom_defaults( $defaults ) {
// Trestle default key/value pairs // Trestle default key/value pairs
$trestle_defaults = array( $trestle_defaults = array(
'trestle_layout' => 'solid', 'trestle_layout' => 'solid',
'trestle_logo_url' => '', 'trestle_logo_url' => '',
'trestle_logo_url_mobile' => '', 'trestle_logo_url_mobile' => '',
'trestle_nav_primary_location' => 'full', '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_read_more_text' => __( 'Read More »', 'trestle' ),
'trestle_revisions_number' => 3, 'trestle_revisions_number' => 3,
'trestle_footer_widgets_number' => 3, 'trestle_footer_widgets_number' => 3,
@@ -54,6 +45,7 @@ function trestle_custom_defaults( $defaults ) {
$options = get_option( GENESIS_SETTINGS_FIELD ); $options = get_option( GENESIS_SETTINGS_FIELD );
foreach ( $trestle_defaults as $k => $v ) { foreach ( $trestle_defaults as $k => $v ) {
// Add defaults to Genesis default settings array // Add defaults to Genesis default settings array
$defaults[$k] = $v; $defaults[$k] = $v;
@@ -68,248 +60,6 @@ function trestle_custom_defaults( $defaults ) {
return $defaults; 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 <small>by</small>', 'trestle' ) . ' <a href="http://mightyminnow.com" target="_blank">MIGHTYminnow</a>';
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/';
?>
<h4><?php _e( 'Layout', 'trestle' ) ?></h4>
<p class="trestle-layout">
<img src="<?php echo $img_path; ?>icon-solid.gif" width="200" height="160" <?php echo 'solid' == genesis_get_option( 'trestle_layout' ) ? 'class="checked"' : '' ?> />
<input type="radio" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_layout]" value="solid" <?php checked( esc_attr( genesis_get_option( 'trestle_layout' ) ), 'solid' ); ?> />
<img src="<?php echo $img_path; ?>icon-bubble.gif" width="200" height="160" <?php echo 'bubble' == genesis_get_option( 'trestle_layout' ) ? 'class="checked"' : '' ?> />
<input type="radio" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_layout]" value="bubble" <?php checked( esc_attr( genesis_get_option( 'trestle_layout' ) ), 'bubble' ); ?> />
</p>
<h4><?php _e( 'Header', 'trestle' ) ?></h4>
<p>
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_logo_url]"><?php _e( 'Logo URL', 'trestle' ); ?></label><br />
<input class="widefat" type="text" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_logo_url]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_logo_url]" value="<?php echo esc_attr( genesis_get_option( 'trestle_logo_url' ) ); ?>" />
</p>
<p>
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_logo_url_mobile]"><?php _e( 'Mobile Logo URL', 'trestle' ); ?></label><br />
<input class="widefat" type="text" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_logo_url_mobile]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_logo_url_mobile]" value="<?php echo esc_attr( genesis_get_option( 'trestle_logo_url_mobile' ) ); ?>" />
</p>
<h4><?php _e( 'Primary Navigation', 'trestle' ) ?></h4>
<p>
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_nav_primary_location]"><?php _e( 'Menu style:', 'trestle' ); ?> </label><br/>
<select name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_nav_primary_location]" />
<option value="full" <?php selected( esc_attr( genesis_get_option( 'trestle_nav_primary_location' ) ), 'full' ); ?> ><?php _e( 'Full width', 'trestle' ); ?></option>
<option value="header" <?php selected( esc_attr( genesis_get_option( 'trestle_nav_primary_location' ) ), 'header' ); ?> ><?php _e( 'Header right', 'trestle' ); ?></option>
</select>
</p>
<p>
<input type="checkbox" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_auto_nav]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_auto_nav]" value="1" <?php checked( esc_attr( genesis_get_option( 'trestle_auto_nav' ) ), 1); ?> /> <label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_auto_nav]"><?php _e( 'Auto-generate primary navigation menu with published pages, to a depth of:', 'trestle' ); ?> </label>
<select name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_auto_nav_depth]" />
<option value="0" <?php selected( esc_attr( genesis_get_option( 'trestle_auto_nav_depth' ) ), '0' ); ?> ><?php _e( 'Unlimited', 'trestle' ); ?></option>
<?php
for( $i=1; $i<=10; $i++ ) {
echo '<option value="' . $i . '" ' . selected( esc_attr( genesis_get_option( 'trestle_auto_nav_depth' ) ), $i, false ) . '>' . $i . '</option>' . "\n";
}
?>
</select><br />
<input type="checkbox" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_include_home_link]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_include_home_link]" value="1" <?php checked( esc_attr( genesis_get_option( 'trestle_include_home_link' ) ), 1); ?> /> <label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_include_home_link]"><?php _e( 'Include home link', 'trestle' ); ?></label>
</p>
<p>
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_home_link_text]"><?php _e( 'Home link text (shortcodes can be included):', 'trestle' ); ?></label><br />
<input class="widefat" type="text" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_home_link_text]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_home_link_text]" value="<?php echo esc_attr( genesis_get_option( 'trestle_home_link_text' ) ); ?>" />
</p>
<p>
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_nav_button_text]"><?php _e( 'Text for mobile navigation button (shortcodes can be included):', 'trestle' ); ?></label><br />
<input class="widefat" type="text" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_nav_button_text]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_nav_button_text]" value="<?php echo esc_attr( genesis_get_option( 'trestle_nav_button_text' ) ); ?>" />
</p>
<h4><?php _e( 'Primary Navigation Extras', 'trestle' ) ?></h4>
<p>
<input type="checkbox" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_custom_nav_extras]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_custom_nav_extras]" value="1" <?php checked( esc_attr( genesis_get_option( 'trestle_custom_nav_extras' ) ), 1); ?> /> <label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_custom_nav_extras]"><?php _e( 'Display custom navigation extras content (overrides standard Genesis navigation extras)', 'trestle' ); ?></label>
</p>
<p>
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_custom_nav_extras_text]"><?php _e( 'Custom navigation extras text:', 'trestle' ); ?></label><br />
<input class="widefat" type="text" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_custom_nav_extras_text]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_custom_nav_extras_text]" value="<?php echo esc_attr( genesis_get_option( 'trestle_custom_nav_extras_text' ) ); ?>" />
</p>
<h4><?php _e( 'Blog/Posts', 'trestle' ) ?></h4>
<p>
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_read_more_text]"><?php _e( 'Custom read more link text', 'trestle' ); ?></label>: <input type="text" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_read_more_text]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_read_more_text]" value="<?php echo esc_attr( genesis_get_option( 'trestle_read_more_text' ) ); ?>" />
</p>
<p>
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_revisions_number]"><?php _e( 'Number of post revisions', 'trestle' ) ?>: </label>
<select name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_revisions_number]" />
<option value="-1" <?php selected( esc_attr( genesis_get_option( 'trestle_revisions_number' ) ), '-1' ); ?> >Unlimited</option>
<?php
for( $i=0; $i<=10; $i++ ) {
echo '<option value="' . $i . '" ' . selected( esc_attr( genesis_get_option( 'trestle_revisions_number' ) ), $i, false ) . '>' . $i . '</option>' . "\n";
}
?>
</select>
</p>
<h4><?php _e( 'Post Info & Meta', 'trestle' ) ?></h4>
<p>
<input type="checkbox" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_manual_post_info_meta]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_manual_post_info_meta]" value="1" <?php checked( esc_attr( genesis_get_option( 'trestle_manual_post_info_meta' ) ), 1); ?> /> <label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_manual_post_info_meta]"><?php _e( 'Manually select where to show Post Info & Meta', 'trestle' ); ?></label>
</p>
<div class="trestle-post-info-meta">
<div class="one-half first">
<b><?php _e( 'Show Post Info on:', 'trestle' ) ?></b>
<?php
$post_types = get_post_types();
foreach ( $post_types as $post_type ) {
// Don't show this option for pages, since genesis_post_info/meta won't work for pages
if ( 'page' == $post_type ) {
continue;
}
// Otherwise generate post info settings
$post_type_object = get_post_type_object( $post_type );
$name = $post_type_object->labels->name;
$slug = $post_type_object->name;
?>
<hr />
<input type="checkbox" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_post_info_<?php echo $slug ?>_single]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_post_info_<?php echo $slug ?>_single]" value="1" <?php checked( esc_attr( genesis_get_option( 'trestle_post_info_' . $slug . '_single' ) ), 1); ?> />
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_post_info_<?php echo $slug ?>_single]"><?php printf( __( '%s (single)', 'trestle' ), $name ); ?></label><br />
<input type="checkbox" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_post_info_<?php echo $slug ?>_archive]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_post_info_<?php echo $slug ?>_archive]" value="1" <?php checked( esc_attr( genesis_get_option( 'trestle_post_info_' . $slug . '_archive' ) ), 1); ?> />
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_post_info_<?php echo $slug ?>_archive]"><?php printf( __( '%s (archive)', 'trestle' ), $name ); ?></label>
<?php
}
?>
<br /><br />
</div>
<div class="one-half">
<b><?php _e( 'Show Post Meta on:', 'trestle' ) ?></b>
<?php
$post_types = get_post_types();
foreach ( $post_types as $post_type ) {
// Don't show this option for pages, since genesis_post_info/meta won't work for pages
if ( 'page' == $post_type ) {
continue;
}
// Otherwise generate post meta settings
$post_type_object = get_post_type_object( $post_type );
$name = $post_type_object->labels->name;
$slug = $post_type_object->name;
?>
<hr />
<input type="checkbox" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_post_meta_<?php echo $slug ?>_single]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_post_meta_<?php echo $slug ?>_single]" value="1" <?php checked( esc_attr( genesis_get_option( 'trestle_post_meta_' . $slug . '_single' ) ), 1); ?> />
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_post_meta_<?php echo $slug ?>_single]"><?php printf( __( '%s (single)', 'trestle' ), $name ); ?></label><br />
<input type="checkbox" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_post_meta_<?php echo $slug ?>_archive]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_post_meta_<?php echo $slug ?>_archive]" value="1" <?php checked( esc_attr( genesis_get_option( 'trestle_post_meta_' . $slug . '_archive' ) ), 1); ?> />
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_post_meta_<?php echo $slug ?>_archive]"><?php printf( __( '%s (archive)', 'trestle' ), $name ); ?></label>
<?php
}
?>
<br /><br />
</div>
</div>
<h4><?php _e( 'Footer Widgets', 'trestle' ) ?></h4>
<p class="trestle-layout">
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_footer_widgets_number]"><?php _e( 'Number', 'trestle' ); ?>: </label>
<select name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_footer_widgets_number]" />
<?php
for( $i=0; $i<=6; $i++ ) {
echo '<option value="' . $i . '" ' . selected( esc_attr( genesis_get_option( 'trestle_footer_widgets_number' ) ), $i, false ) . '>' . $i . '</option>' . "\n";
}
?>
</select>
</p>
<h4><?php _e( 'Link Icons', 'trestle' ) ?></h4>
<p>
<input type="checkbox" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_external_link_icons]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_external_link_icons]" value="1" <?php checked( esc_attr( genesis_get_option( 'trestle_external_link_icons' ) ), 1); ?> /> <label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_external_link_icons]"><?php _e( 'Add icons to external links', 'trestle' ); ?></label><br />
<input type="checkbox" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_email_link_icons]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_email_link_icons]" value="1" <?php checked( esc_attr( genesis_get_option( 'trestle_email_link_icons' ) ), 1); ?> /> <label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_email_link_icons]"><?php _e( 'Add icons to email links', 'trestle' ); ?></label><br />
<input type="checkbox" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_pdf_link_icons]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_pdf_link_icons]" value="1" <?php checked( esc_attr( genesis_get_option( 'trestle_pdf_link_icons' ) ), 1); ?> /> <label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_pdf_link_icons]"><?php _e( 'Add icons to .pdf links', 'trestle' ); ?></label><br />
<input type="checkbox" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_document_link_icons]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_doc_link_icons]" value="1" <?php checked( esc_attr( genesis_get_option( 'trestle_doc_link_icons' ) ), 1); ?> /> <label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_document_link_icons]"><?php _e( 'Add icons to .doc links', 'trestle' ); ?></label>
</p>
<?php
}
add_action( 'tgmpa_register', 'trestle_register_required_plugins' ); add_action( 'tgmpa_register', 'trestle_register_required_plugins' );
/** /**
* Loads required & recommended plugins. * Loads required & recommended plugins.
@@ -322,6 +72,7 @@ add_action( 'tgmpa_register', 'trestle_register_required_plugins' );
* @see tgmpa() in /includes/classes/class-tgm-plugin-activation.php * @see tgmpa() in /includes/classes/class-tgm-plugin-activation.php
*/ */
function trestle_register_required_plugins() { function trestle_register_required_plugins() {
$plugins = array( $plugins = array(
// Required plugins // Required plugins
array( array(
+137
View File
@@ -0,0 +1,137 @@
/**
* JavaScript for the Customizer Preview
*
* @since 1.0.0
*/
( function( $ ) {
// Layout
wp.customize( 'genesis-settings[trestle_layout]', function( value ) {
value.bind( function( value ) {
var $body = $( 'body' );
switch ( value ) {
case 'solid':
$body.removeClass( 'bubble' );
break;
case 'bubble':
$body.addClass( 'bubble' );
break;
}
});
});
// Custom logo
wp.customize( 'genesis-settings[trestle_logo_url]', function( value ) {
value.bind( function( url ) {
var $body = $( 'body' );
if ( 0 === $.trim( url ).length ) {
$body.removeClass( 'has-logo' );
$( '.site-title a.image-link' ).remove();
} else {
$body.addClass( 'has-logo' );
$( '.site-title a.image-link' ).remove();
$( '.site-title' ).append( '<a href="/" class="image-link"><img class="logo logo-full show" src="' + url + '" /></a>' );
}
});
});
// 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 );
+324
View File
@@ -0,0 +1,324 @@
<?php
/**
* Trestle Customizer Controls
*
* @since 1.0.0
*
* @package Trestle
*/
add_action( 'customize_preview_init', 'trestle_customizer_preview_js' );
/**
* Enqueue scripts for the site preview iframe on the customizer screen
*
* @since 1.0.0
*/
function trestle_customizer_preview_js() {
wp_enqueue_script(
'trestle_customizer',
get_stylesheet_directory_uri() . '/includes/admin/customizer.js',
array( 'jquery', 'customize-preview' ), // Dependencies
null, // Version
true // Load in Footer
);
}
add_action( 'customize_register', 'trestle_customizer_controls' );
/**
* Register Trestle's controls
*
* @since 1.0.0
*
* @param $wp_customize The Customizer Object
*/
function trestle_customizer_controls( $wp_customize ) {
/**
* Trestle Settings Section
*/
// Add the section
$wp_customize->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',
)
);
}
-36
View File
@@ -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;
}
+16 -6
View File
@@ -126,10 +126,6 @@ function trestle_body_classes( $classes ) {
if ( genesis_get_option( 'trestle_footer_widgets_number' ) ) if ( genesis_get_option( 'trestle_footer_widgets_number' ) )
$classes[] = 'footer-widgets-number-' . esc_attr( 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 // Add logo class
if ( genesis_get_option( 'trestle_logo_url' ) || genesis_get_option( 'trestle_logo_url_mobile' ) ) if ( genesis_get_option( 'trestle_logo_url' ) || genesis_get_option( 'trestle_logo_url_mobile' ) )
$classes[] = 'has-logo'; $classes[] = 'has-logo';
@@ -150,6 +146,7 @@ add_filter( 'genesis_seo_title', 'trestle_do_logos', 10, 3 );
* @since 1.0.0 * @since 1.0.0
*/ */
function trestle_do_logos( $title, $inside, $wrap ) { function trestle_do_logos( $title, $inside, $wrap ) {
$logo_url = genesis_get_option( 'trestle_logo_url' ); $logo_url = genesis_get_option( 'trestle_logo_url' );
$logo_url_mobile = genesis_get_option( 'trestle_logo_url_mobile' ); $logo_url_mobile = genesis_get_option( 'trestle_logo_url_mobile' );
$logo_html = ''; $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() ? sprintf( "<{$wrap} %s>", genesis_attr( 'site-title' ) ) : sprintf( '<%s id="title">%s</%s>', $wrap, $inside, $wrap );
$title .= genesis_html5() ? "{$inside}</{$wrap}>" : ''; $title .= genesis_html5() ? "{$inside}</{$wrap}>" : '';
//* Echo (filtered) // Echo (filtered)
return $title; return $title;
} }
@@ -221,6 +218,7 @@ add_action( 'init', 'trestle_nav_modifications' );
* @see trestle_nav_placeholder() * @see trestle_nav_placeholder()
*/ */
function trestle_nav_modifications() { function trestle_nav_modifications() {
global $trestle_nav_title; global $trestle_nav_title;
// Set title for Trestle placeholder navigation menu // Set title for Trestle placeholder navigation menu
@@ -269,6 +267,7 @@ function trestle_nav_primary_location() {
* @return string <li> list of (modified) navigation menu items. * @return string <li> list of (modified) navigation menu items.
*/ */
function trestle_auto_nav_items( $nav_items, stdClass $menu_args ) { function trestle_auto_nav_items( $nav_items, stdClass $menu_args ) {
if ( 'primary' == $menu_args->theme_location ) { if ( 'primary' == $menu_args->theme_location ) {
$args = array( $args = array(
'depth' => genesis_get_option( 'trestle_auto_nav_depth' ) ? genesis_get_option( 'trestle_auto_nav_depth' ) : 0, 'depth' => genesis_get_option( 'trestle_auto_nav_depth' ) ? genesis_get_option( 'trestle_auto_nav_depth' ) : 0,
@@ -305,6 +304,7 @@ function trestle_auto_nav_items( $nav_items, stdClass $menu_args ) {
* @return string <li> list of menu items with custom navigation extras <li> appended. * @return string <li> list of menu items with custom navigation extras <li> appended.
*/ */
function trestle_custom_nav_extras( $nav_items, stdClass $menu_args ) { function trestle_custom_nav_extras( $nav_items, stdClass $menu_args ) {
if ( 'primary' == $menu_args->theme_location ) { if ( 'primary' == $menu_args->theme_location ) {
$custom_text = esc_attr( genesis_get_option( 'trestle_custom_nav_extras_text' ) ); $custom_text = esc_attr( genesis_get_option( 'trestle_custom_nav_extras_text' ) );
return $nav_items . '<li class="right custom">' . do_shortcode( genesis_get_option( 'trestle_custom_nav_extras_text' ) ) . '</li>'; return $nav_items . '<li class="right custom">' . do_shortcode( genesis_get_option( 'trestle_custom_nav_extras_text' ) ) . '</li>';
@@ -323,6 +323,7 @@ function trestle_custom_nav_extras( $nav_items, stdClass $menu_args ) {
* @since 1.0.0 * @since 1.0.0
*/ */
function trestle_nav_placeholder() { function trestle_nav_placeholder() {
global $trestle_nav_title; 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 // 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
@@ -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. * @return int Number of post revisions specified in Trestle admin panel.
*/ */
function trestle_update_revisions_number( $num ) { function trestle_update_revisions_number( $num ) {
$trestle_revisions_number = esc_attr( genesis_get_option( 'trestle_revisions_number' ) ); $trestle_revisions_number = esc_attr( genesis_get_option( 'trestle_revisions_number' ) );
if ( isset( $trestle_revisions_number ) ) if ( isset( $trestle_revisions_number ) )
@@ -377,6 +379,7 @@ add_action( 'the_post', 'trestle_post_info_meta', 5 );
* @global object $post The current $post object. * @global object $post The current $post object.
*/ */
function trestle_post_info_meta() { function trestle_post_info_meta() {
if ( ! is_admin() && in_the_loop() && genesis_get_option( 'trestle_manual_post_info_meta' ) ) { if ( ! is_admin() && in_the_loop() && genesis_get_option( 'trestle_manual_post_info_meta' ) ) {
global $post; global $post;
@@ -432,7 +435,9 @@ add_filter( 'genesis_get_image_default_args', 'trestle_featured_image_fallback'
* @return array Updated image args * @return array Updated image args
*/ */
function trestle_featured_image_fallback( $args ) { function trestle_featured_image_fallback( $args ) {
$args['fallback'] = false; $args['fallback'] = false;
return $args; return $args;
} }
@@ -453,10 +458,15 @@ add_filter( 'the_content_more_link', 'trestle_read_more_link' );
* @return string (Updated) "read more" text. * @return string (Updated) "read more" text.
*/ */
function trestle_read_more_link( $default_text ) { function trestle_read_more_link( $default_text ) {
// Get Trestle custom "read more" link text // Get Trestle custom "read more" link text
$custom_text = esc_attr( genesis_get_option( 'trestle_read_more_text' ) ); $custom_text = esc_attr( genesis_get_option( 'trestle_read_more_text' ) );
<<<<<<< HEAD
if ( $custom_text ) { if ( $custom_text ) {
=======
if ( $custom_text )
>>>>>>> 9de3310f116bb4f7dd5323ca40b16f2fe4160dcd
return '&hellip;&nbsp;<a class="more-link" title="' . $custom_text . '" href="' . get_permalink() . '">' . $custom_text . '</a>'; return '&hellip;&nbsp;<a class="more-link" title="' . $custom_text . '" href="' . get_permalink() . '">' . $custom_text . '</a>';
} else { } else {
return $default_text; return $default_text;
+93 -93
View File
@@ -9,132 +9,132 @@
// Executes when the document is ready // Executes when the document is ready
jQuery( document ).ready( function( $ ) { jQuery( document ).ready( function( $ ) {
// Remove .no-jquery body class // Remove .no-jquery body class
$( 'body' ).removeClass( 'no-jquery' ); $( 'body' ).removeClass( 'no-jquery' );
// External Links // External Links
var h = window.location.host.toLowerCase(); var h = window.location.host.toLowerCase();
$( '[href^="http"]' ).not( '[href*="' + h + '"]' ).addClass( 'external-link' ).attr( "target", "_blank" ); $( '[href^="http"]' ).not( '[href*="' + h + '"]' ).addClass( 'external-link' ).attr( "target", "_blank" );
// Add classes to different types of links // Add classes to different types of links
$( 'a[href^="mailto:"]' ).addClass( 'email-link' ); $( 'a[href^="mailto:"]' ).addClass( 'email-link' );
$( 'a[href$=".pdf"]' ).attr({ "target":"_blank" }).addClass( 'pdf-link' ); $( 'a[href$=".pdf"]' ).attr({ "target":"_blank" }).addClass( 'pdf-link' );
$( 'a[href$=".doc"]' ).attr({ "target":"_blank" }).addClass( 'doc-link' ); $( 'a[href$=".doc"]' ).attr({ "target":"_blank" }).addClass( 'doc-link' );
$( 'a' ).has( 'img' ).addClass( 'image-link' ); $( 'a' ).has( 'img' ).addClass( 'image-link' );
// Add classes to parts of lists // Add classes to parts of lists
$( 'li:last-child' ).addClass( 'last' ); $( 'li:last-child' ).addClass( 'last' );
$( 'li:first-child' ).addClass( 'first' ); $( 'li:first-child' ).addClass( 'first' );
$( 'ul, ol' ).parent( 'li' ).addClass( 'parent' ); $( 'ul, ol' ).parent( 'li' ).addClass( 'parent' );
// Mobile header toggle buttons // Mobile header toggle buttons
$( '.site-header .title-area' ).after( '<div class="toggle-buttons" />' ); $( '.site-header .title-area' ).after( '<div class="toggle-buttons" />' );
$( '.site-header .widget-area, .nav-primary' ).each( function( i ) { $( '.site-header .widget-area, .nav-primary' ).each( function( i ) {
// Store target // Store target
$target = $( this ); $target = $( this );
// Scope variables // Scope variables
var $target, buttonClass, targetClass; var $target, buttonClass, targetClass;
// Setup classes // Setup classes
buttonClass = 'toggle-button'; buttonClass = 'toggle-button';
targetClass = $target.attr( 'class' ).split( /\s+/ ); targetClass = $target.attr( 'class' ).split( /\s+/ );
// Add targets-[] class to buttonClass // Add targets-[] class to buttonClass
$.each( targetClass, function( index, value ) { $.each( targetClass, function( index, value ) {
buttonClass += ' targets-' + value; buttonClass += ' targets-' + value;
}); });
// Add nav-toggle class to buttonClass if the button is for the nav // Add nav-toggle class to buttonClass if the button is for the nav
if ( $target.is( 'nav' ) ) { if ( $target.is( 'nav' ) ) {
buttonClass += ' nav-toggle'; buttonClass += ' nav-toggle';
} }
// Add toggle buttons to header // Add toggle buttons to header
$( '.toggle-buttons' ).prepend( '<a id="toggle-button-' + i + '" class="' + buttonClass + '" href="#">Toggle</a>' ); $( '.toggle-buttons' ).prepend( '<a id="toggle-button-' + i + '" class="' + buttonClass + '" href="#">Toggle</a>' );
// Add target class to nav and widget areas // Add target class to nav and widget areas
$target.addClass( 'toggle-target-' + i ); $target.addClass( 'toggle-target-' + i );
}); });
// Toggle widget areas and primary nav // Toggle widget areas and primary nav
$( '.site-header .toggle-button' ).click( function( event ) { $( '.site-header .toggle-button' ).click( function( event ) {
// Prevent default behavior // Prevent default behavior
event.preventDefault(); event.preventDefault();
// Scope our variables // Scope our variables
var $button, $target; var $button, $target;
// Get toggle button that was clicked // Get toggle button that was clicked
$button = $( this ); $button = $( this );
//Remove focus //Remove focus
$button.blur(); $button.blur();
// Match the button to the right target // Match the button to the right target
$target = $( '.toggle-target-' + $button.attr( 'id' ).match( /\d+/ ) ); $target = $( '.toggle-target-' + $button.attr( 'id' ).match( /\d+/ ) );
// Toggle buttons // Toggle buttons
$button.toggleClass( 'open' ); $button.toggleClass( 'open' );
$( '.site-header .toggle-button' ).not( $button ).removeClass( 'open' ); $( '.site-header .toggle-button' ).not( $button ).removeClass( 'open' );
// Toggle targets // Toggle targets
$target.toggleClass( 'open' ); $target.toggleClass( 'open' );
$( '[class^="toggle-target"]' ).not( $target ).removeClass( 'open' ); $( '[class^="toggle-target"]' ).not( $target ).removeClass( 'open' );
}); });
// Mobile navigation icons // Mobile navigation icons
var closedIcon = '+'; var closedIcon = '+';
var openIcon = '-'; var openIcon = '-';
// Insert the icons into the nav where appropriate // 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( '<a class="sub-icon" href="#">' + closedIcon + '</a>' ); $( '.nav-primary' ).find( '.genesis-nav-menu .parent:not( .current-menu-item, .current_page_item, .current_page_parent, .current_page_ancestor) > a' ).after( '<a class="sub-icon" href="#">' + closedIcon + '</a>' );
$( '.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( '<a class="sub-icon" href="#">' + openIcon + '</a>' ); $( '.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( '<a class="sub-icon" href="#">' + openIcon + '</a>' );
// Mobile navigation expand/contract functionality // Mobile navigation expand/contract functionality
$( '.sub-icon' ).click( function( event ) { $( '.sub-icon' ).click( function( event ) {
// Prevent default behavior // Prevent default behavior
event.preventDefault(); event.preventDefault();
// Get icon click // Get icon click
var $icon = $( this ); var $icon = $( this );
// Remove focus // Remove focus
$icon.blur(); $icon.blur();
// Expand/contract // Expand/contract
$icon.next( 'ul' ).slideToggle().toggleClass( 'open' ); $icon.next( 'ul' ).slideToggle().toggleClass( 'open' );
// Change the icon to indicate open/closed // Change the icon to indicate open/closed
if ( $icon.text().indexOf( closedIcon ) !== -1 ) { if ( $icon.text().indexOf( closedIcon ) !== -1 ) {
$icon.text( openIcon ); $icon.text( openIcon );
} else if ( $icon.text().indexOf( openIcon ) !== -1 ) { } else if ( $icon.text().indexOf( openIcon ) !== -1 ) {
$icon.text( closedIcon ); $icon.text( closedIcon );
} }
}); });
// Header widget area expand/contract functionality // Header widget area expand/contract functionality
$( '.widget-area-toggle' ).click( function( event ) { $( '.widget-area-toggle' ).click( function( event ) {
// Prevent default behavior // Prevent default behavior
event.preventDefault(); event.preventDefault();
// Get button clicked // Get button clicked
var $button = $( this ); var $button = $( this );
// Remove focus // Remove focus
$button.blur(); $button.blur();
// Expand/contract // Expand/contract
$button.toggleClass( 'open' ).next( '.widget-area' ).slideToggle(); $button.toggleClass( 'open' ).next( '.widget-area' ).slideToggle();
}); });
// Executes when complete page is fully loaded, including all frames, objects, and images // Executes when complete page is fully loaded, including all frames, objects, and images
$( window ).on( 'load', function() { $( window ).on( 'load', function() {
}); });
}); /* end of page load scripts */ }); /* end of page load scripts */
+31 -13
View File
@@ -151,6 +151,10 @@ body {
line-height: 1.625; line-height: 1.625;
} }
body.mce-content-body {
width: 100%; /* Used in the editor */
}
body.bubble { body.bubble {
background-color: #f5f5f5; background-color: #f5f5f5;
} }
@@ -213,7 +217,9 @@ ul {
} }
.site-inner ol, .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: 40px;
margin-left: 4rem; margin-left: 4rem;
margin-bottom: 26px; margin-bottom: 26px;
@@ -296,12 +302,14 @@ a:hover {
color: #333; color: #333;
} }
.site-inner a { .site-inner a,
.mce-content-body a { /* Used in the Editor */
border-bottom: 1px solid #ddd; border-bottom: 1px solid #ddd;
color: #f15123; color: #f15123;
} }
.site-inner a:hover { .site-inner a:hover,
.mce-content-body a:hover { /* Used in the Editor */
color: #333; color: #333;
} }
@@ -467,8 +475,8 @@ textarea {
} }
input[type="radio"], input[type="radio"],
input[type="radio"], input[type="checkbox"],
input[type="checkbox"] { input[type="image"] {
width: auto; width: auto;
} }
@@ -1360,9 +1368,14 @@ Site Header
.site-header .widget-area { .site-header .widget-area {
width: 100%; width: 100%;
padding: 20px;
background-color: #eee; background-color: #eee;
border: 1px solid #ddd; border: 1px solid #ddd;
border-width: 0;
overflow: hidden;
}
.site-header .widget-area.open {
padding: 20px;
border-width: 1px 0; border-width: 1px 0;
} }
@@ -1403,7 +1416,7 @@ Site Header
.nav-primary, .nav-primary,
.site-header .nav-primary, /*.site-header .nav-primary,*/
.site-header .widget-area { .site-header .widget-area {
position: absolute; position: absolute;
top: 100%; top: 100%;
@@ -1413,11 +1426,11 @@ Site Header
opacity: 0; opacity: 0;
box-shadow: 0 4px 8px 1px rgba(0,0,0,0.4); box-shadow: 0 4px 8px 1px rgba(0,0,0,0.4);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
-webkit-transition: all .5s ease; -webkit-transition: all .5s ease, padding 0s .5s;
-moz-transition: all .5s ease; -moz-transition: all .5s ease, padding 0s .5s;
-ms-transition: all .5s ease; -ms-transition: all .5s ease, padding 0s .5s;
-o-transition: all .5s ease; -o-transition: all .5s ease, padding 0s .5s;
transition: all .5s ease; transition: all .5s ease, padding 0s .5s;
} }
.site-container > .nav-primary { .site-container > .nav-primary {
@@ -1429,7 +1442,12 @@ Site Header
z-index: 50; z-index: 50;
max-height: 9999px; max-height: 9999px;
opacity: 1; 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;
} }