33 Commits

Author SHA1 Message Date
MickeyKay 020cddc9c7 Update CSS for header menus to omit sub-menus on mobile. 2014-06-30 10:49:12 -07:00
MickeyKay eec8b089b7 Add bug fix message to README.md. 2014-06-26 13:59:59 -07:00
MickeyKay 3ed98366b2 Add bug fix message to README.md. 2014-06-26 13:58:34 -07:00
MickeyKay 2a1c664578 Add bug fix message to README.md. 2014-06-26 13:58:13 -07:00
MickeyKay bee85f8380 Add bug fix message to README.md. 2014-06-26 13:57:54 -07:00
MickeyKay 6d299c1cba Add bug fix message to README.md. 2014-06-26 13:57:15 -07:00
MickeyKay 751971247f Add bug fix message to README.md. 2014-06-26 13:56:53 -07:00
MickeyKay 1c4a1bd21e Add bug fix message to README.md. 2014-06-26 13:55:07 -07:00
MickeyKay e3db022b76 IMPORTANT: Fix bug with tresle_post_info_meta() function causing posts to spontaneously change post_type when running looping through a query. Please update to this patch if you have a previous version. 2014-06-26 13:47:11 -07:00
MickeyKay 25eef48115 Temporarily comment out trestle_post_info_meta() functionality as it is causing posts to sporadically change type. 2014-06-26 12:57:55 -07:00
MickeyKay fc9fc2a7c4 Update menu CSS. 2014-06-26 12:53:15 -07:00
Mickey Kay 4cdfa12b62 Update README.md to say beta. 2014-06-26 09:09:12 -07:00
Mickey Kay 0b4282cb67 Update README.md 2014-06-24 13:14:27 -07:00
Mickey Kay ba946f1c07 Updated demo link. 2014-06-24 13:09:00 -07:00
MickeyKay b7a8f001bc Switched from hardcoded uploads folder to wp_upload_dir(). 2014-06-23 12:45:47 -07:00
MickeyKay 8ad9884ef0 Switched from hardcoded uploads folder to wp_upload_dir(). 2014-06-23 12:26:18 -07:00
MickeyKay 3fb569748c Switched from hardcoded uploads folder to wp_upload_dir(). 2014-06-23 12:24:09 -07:00
MickeyKay 414306de50 Added README.md 2014-06-23 10:19:49 -07:00
MickeyKay 82babdee13 Fixed trestle_post_info_meta bug causing posts to change post type in the admin. Added styles for Types & Views and logo. 2014-06-23 09:56:06 -07:00
MickeyKay 00a156379b Improved logo classes and functionality. 2014-05-08 13:51:23 -07:00
MickeyKay 74fdbd7512 Added logo functionality! 2014-05-08 13:41:17 -07:00
MickeyKay e898968b18 Added auto-menu depth control. 2014-05-08 12:05:05 -07:00
MickeyKay a0fdd02eef Fixed equal height columns jQuery with outerHeight(). Fixed labelling errors on admin settings. 2014-05-06 17:53:43 -07:00
MickeyKay ca307ef341 Fixed CSS for nav menu header to remove right-padding only on top-level .last item. 2014-05-01 10:24:46 -07:00
MickeyKay a866980250 Added sidebars.php for registering and outputting custom sidebars. 2014-04-28 09:09:49 -07:00
MickeyKay 74e451cfe3 Added proper CHILD_THEME_VERSION constant for enqueueud JS in place of manually 1.0.0 2014-04-21 15:54:49 -07:00
MickeyKay 4e5b4285e3 Fixed margins on lists. Fixed line-height on buttons. 2014-04-21 09:57:37 -07:00
MickeyKay 8f7fc9fb87 Reworked spacing for nav in header. Reworked vertical alignment for nav font awesome icons. 2014-04-21 09:29:09 -07:00
MickeyKay 443eed1349 Added more specific classes to buttons to preserve colors that had gone missing. 2014-04-21 09:21:42 -07:00
Mickey Kay 4f8fb6726e Added demo links to readme 2014-04-16 13:04:58 -07:00
Mickey Kay f10cfd7438 Updated readme.md 2014-04-16 13:03:08 -07:00
Mickey Kay cfa595e273 Updated readme 2014-04-16 13:02:00 -07:00
Mickey Kay 2c74f66b49 Create README.md 2014-04-16 12:51:41 -07:00
8 changed files with 343 additions and 139 deletions
+38
View File
@@ -0,0 +1,38 @@
Trestle (beta)
=======
**IMPORTANT: If you're using a version of Trestle that is prior to the [commit e3db022b760254df95cc6e306ea53b3da46b6ed1](https://github.com/MickeyKay/trestle/commit/e3db022b760254df95cc6e306ea53b3da46b6ed1), please make sure to update your version of Trestle, or at least merge in the changes in this commit or a later commit, including changes to these files:**
* functions.php
* lib/functions/theme-functions.php
* lib/admin/admin-functions.php
This will ensure you avoid the bug in which posts spontaneously switch post_type when looping through a query.
=======
### A handy boilerplate child theme for serious Genesis developers.
### [View Demo →](http://demo.mightyminnow.com/theme/trestle/)
#### Intro
Trestle takes a lot of the grunt work out of building sites using the Genesis Framework, providing quick and easy-to-implement solutions to common problems and repetitive tasks. Weve taken Genesis rock-solid foundation, integrated mobile-first CSS, responsive navigation, a full-featured settings panel, and much more. Download. Install. Enjoy.
#### Features
Here are some of Trestle's many features, check out the [Trestle Demo](http://demo.mightyminnow.com/theme/trestle/) for a full list.
* Responsive navigation menu
* Mobile first CSS
* Custom control over post info and meta
* Multiple page layouts
* Auto-generating primary navigation
* Ability to auto-install your favorite plugins
* Helpful theme jQuery
* Compatibility with Genesis Extender plugin
* Optional link icons
* Built-in shortcodes (columns, buttons, Font Awesome, etc)
* Front-end styles appear in editor as well
* And more!
#### Settings & Usage
* The Trestle control panel is located at **Genesis → Theme Settings**, in the **Trestle** metabox.
* Examples and usage can all be viewed on the [Trestle Demo](http://demo.mightyminnow.com/theme/trestle/)
+23 -8
View File
@@ -23,6 +23,9 @@ function trestle_theme_setup() {
// Shortcodes
require_once dirname( __FILE__ ) . '/lib/shortcodes/shortcodes.php';
// Additional sidebars
require_once dirname( __FILE__ ) . '/lib/sidebars/sidebars.php';
// Plugin activation class
require_once dirname( __FILE__ ) . '/lib/classes/class-tgm-plugin-activation.php';
@@ -55,16 +58,31 @@ function trestle_theme_setup() {
/*===========================================
* Header Styles & Scripts
* Widget Areas
===========================================*/
add_action( 'widgets_init', 'trestle_register_widget_areas' );
/*===========================================
* Head Styles & Scripts
===========================================*/
add_action( 'wp_enqueue_scripts', 'trestle_header_actions' );
/*===========================================
* Widget Areas
* Body Classes
===========================================*/
add_action( 'widgets_init', 'trestle_register_widget_areas' );
add_filter( 'body_class', 'trestle_body_classes' );
/*===========================================
* Header
===========================================*/
// Add logo
add_filter( 'genesis_seo_title', 'trestle_do_logos', 10, 3 );
/*===========================================
* Auto & Mobile Navigation
@@ -82,7 +100,7 @@ function trestle_theme_setup() {
add_filter( 'wp_revisions_to_keep', 'trestle_update_revisions_number', 10, 2 );
// Manually control where Post Info & Meta display
add_action( 'the_post', 'trestle_post_info_meta', 0 );
add_action( 'the_post', 'trestle_post_info_meta', 5 );
// Remove default featured image fallback of 'first-attached'
add_filter( 'genesis_get_image_default_args', 'trestle_featured_image_fallback' );
@@ -92,9 +110,6 @@ function trestle_theme_setup() {
* General Actions & Filters
===========================================*/
// Add body classes
add_filter( 'body_class', 'trestle_body_classes' );
// Do custom Read More text
add_filter( 'excerpt_more', 'trestle_read_more_link' );
add_filter( 'get_the_content_more_link', 'trestle_read_more_link' );
+49 -10
View File
@@ -36,6 +36,7 @@ function trestle_custom_defaults( $defaults ) {
$trestle_defaults = array(
'trestle_layout' => 'solid',
'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' ),
@@ -91,6 +92,7 @@ function trestle_register_social_sanitization_filters() {
'absint',
GENESIS_SETTINGS_FIELD,
array(
'trestle_auto_nav_depth',
'trestle_revisions_number',
'trestle_footer_widgets_number',
'trestle_equal_cols_breakpoint',
@@ -111,6 +113,8 @@ function trestle_register_social_sanitization_filters() {
'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',
@@ -153,28 +157,49 @@ function trestle_settings_box() {
<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>
<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( 'Automatically generate nav menu (replaces custom/manual menu with auto-generated menu)', 'trestle' ); ?></label><br />
<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( 'Automatically generate nav menu', 'trestle' ); ?></label>
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_auto_nav_depth]"><?php _e( 'with 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' ); ?> >Unlimited</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>
<?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' ) ); ?>" /> <label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_home_link_text]">
<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>
<?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' ) ); ?>" /> <label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_nav_button_text]">
<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>
<?php _e( 'Custom navigation extras text:', 'trestle' ); ?><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' ) ); ?>" /> <label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_custom_nav_extras_text]">
<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>
@@ -194,13 +219,21 @@ function trestle_settings_box() {
</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>
<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;
@@ -221,6 +254,12 @@ function trestle_settings_box() {
<?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;
@@ -255,7 +294,7 @@ function trestle_settings_box() {
<input type="checkbox" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_equal_height_cols]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_equal_height_cols]" value="1" <?php checked( esc_attr( genesis_get_option( 'trestle_equal_height_cols' ) ), 1); ?> /> <label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_equal_height_cols]"><?php _e( 'Automatically equalize height of Genesis Extender homepage columns', 'trestle' ); ?></label>
</p>
<p class="trestle-equal-columns-breakpoint">
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_equal_cols_breakpoint]"><?php _e( 'Implement at', 'trestle' ); ?></label> <input type="text" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_equal_cols_breakpoint]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_equal_cols_breakpoint]" value="<?php echo esc_attr( genesis_get_option( 'trestle_equal_cols_breakpoint' ) ); ?>" size="4"/>px&nbsp;<?php _e( 'and wider (should match main CSS breakpoint)', 'trestle' ); ?>
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_equal_cols_breakpoint]"><?php _e( 'Implement at', 'trestle' ); ?><input type="text" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_equal_cols_breakpoint]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[trestle_equal_cols_breakpoint]" value="<?php echo esc_attr( genesis_get_option( 'trestle_equal_cols_breakpoint' ) ); ?>" size="4"/>px&nbsp;<?php _e( 'and wider (should match main CSS breakpoint)', 'trestle' ); ?></label>
</p>
<h4><?php _e( 'Link Icons', 'trestle' ) ?></h4>
+2
View File
@@ -11,7 +11,9 @@
/* Overrides
--------------------------------------------- */
body {
padding: 8px 16px;
background-color: #FFF;
background-image: none;
}
.content {
+141 -82
View File
@@ -10,7 +10,20 @@
*/
/*===========================================
* Header Styles & Scripts
* Widget Areas
===========================================*/
/**
* Register custom widget areas
*
* @since 1.0.0
*/
function trestle_register_widget_areas() {
}
/*===========================================
* Head Styles & Scripts
===========================================*/
/**
@@ -23,17 +36,22 @@ function trestle_header_actions() {
wp_enqueue_style( 'theme-google-fonts', '//fonts.googleapis.com/css?family=Lato:300,400,700' );
// Theme jQuery
wp_enqueue_script( 'theme-jquery', get_stylesheet_directory_uri() . '/lib/js/theme-jquery.js', array( 'jquery' ), '1.0.0', true );
wp_enqueue_script( 'theme-jquery', get_stylesheet_directory_uri() . '/lib/js/theme-jquery.js', array( 'jquery' ), CHILD_THEME_VERSION, true );
// Get WP uploads directory
$upload_dir = wp_upload_dir();
$upload_path = $upload_dir['basedir'];
$upload_url = $upload_dir['baseurl'];
// Custom CSS (if it exists)
$custom_css_file = 'wp-content/uploads/trestle/custom.css';
if ( is_readable( ABSPATH . $custom_css_file ) )
wp_enqueue_style( 'trestle-custom-css', '/' . $custom_css_file );
$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 = 'wp-content/uploads/trestle/custom.js';
if ( is_readable( ABSPATH . $custom_js_file ) )
wp_enqueue_script( 'trestle-custom-jquery', '/' . $custom_js_file, array( 'jquery' ), '1.0.0', true );
$custom_js_file = '/trestle/custom.js';
if ( is_readable( $upload_path . $custom_js_file ) )
wp_enqueue_script( 'trestle-custom-jquery', $upload_url . $custom_js_file, array( 'jquery' ), CHILD_THEME_VERSION, true );
// Pass PHP variables to theme jQuery
$php_vars = array (
@@ -44,16 +62,112 @@ function trestle_header_actions() {
/*===========================================
* Widget Areas
* Body Classes
===========================================*/
/**
* Register custom widget areas
* Adds custom classes to the <body> element for styling purposes.
*
* @since 1.0.0
*
* @param array $classes 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';
// Add 'bubble' class
if ( 'bubble' == genesis_get_option( 'trestle_layout' ) )
$classes[] = 'bubble';
// Add link icon classes
if ( genesis_get_option( 'trestle_external_link_icons' ) )
$classes[] = 'external-link-icons';
if ( genesis_get_option( 'trestle_email_link_icons' ) )
$classes[] = 'email-link-icons';
if ( genesis_get_option( 'trestle_pdf_link_icons' ) )
$classes[] = 'pdf-link-icons';
if ( genesis_get_option( 'trestle_doc_link_icons' ) )
$classes[] = 'doc-link-icons';
// 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;
}
/*===========================================
* Header
===========================================*/
/**
* Output logos.
*
* @since 1.0.0
*/
function trestle_register_widget_areas() {
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 = '';
// Regular logo
if ( $logo_url ) {
// Default logo class
$classes = array('logo-full');
// If no mobile logo is specified, make regular logo act as mobile logo too
if( ! $logo_url_mobile )
$classes[] = 'show';
$logo_html .= sprintf( '<img class="logo %s" alt="%s" src="%s" />',
implode(' ', $classes),
esc_attr( get_bloginfo( 'name' ) ),
$logo_url
);
}
// Mobile logo
if ( $logo_url_mobile ) {
// Default mobile logo class
$classes = array('logo-mobile');
// If no regular logo is specified, make mobile logo act as regular logo too
if( ! $logo_url )
$classes[] = 'show';
$logo_html .= sprintf( '<img class="logo %s" alt="%s" src="%s" />',
implode(' ', $classes),
esc_attr( get_bloginfo( 'name' ) ),
$logo_url_mobile
);
}
if ( $logo_html ) {
$inside .= sprintf( '<a href="%s" title="%s">%s</a>',
trailingslashit( home_url() ),
esc_attr( get_bloginfo( 'name' ) ),
$logo_html
);
}
//* 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)
return $title;
}
@@ -72,6 +186,11 @@ function trestle_register_widget_areas() {
* @see trestle_nav_placeholder()
*/
function trestle_nav_modifications() {
global $trestle_nav_title;
// Set title for Trestle placeholder navigation menu
$trestle_nav_title = __( 'Trestle Auto Nav Placeholder', 'trestle' );
// Add mobile nav button
add_action( 'genesis_after_header', 'trestle_add_mobile_nav', 0 );
@@ -115,6 +234,7 @@ function trestle_add_mobile_nav() {
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,
'echo' => false,
'show_home' => ( genesis_get_option( 'trestle_include_home_link' ) && genesis_get_option( 'trestle_home_link_text' ) ) ? do_shortcode( genesis_get_option( 'trestle_home_link_text' ) ): genesis_get_option( 'trestle_include_home_link' ),
'menu_class' => 'auto-menu'
@@ -166,15 +286,15 @@ function trestle_custom_nav_extras( $nav_items, stdClass $menu_args ) {
* @since 1.0.0
*/
function trestle_nav_placeholder() {
// Set title for Trestle placeholder navigation menu
$trestle_nav_title = __( 'Trestle Auto Nav Placeholder', 'trestle' );
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
if ( 1 == genesis_get_option( 'trestle_auto_nav' ) && ! wp_get_nav_menu_object( $trestle_nav_title ) && ! has_nav_menu( 'primary' ) ) {
// Create placholder menu
if ( 1 == genesis_get_option( 'trestle_auto_nav' ) && ! wp_get_nav_menu_object( $trestle_nav_title ) ) {
wp_create_nav_menu( $trestle_nav_title );
}
// Assign placeholder menu to 'primary'
// Assign placeholder menu to 'primary' if auto-nav is selected and there is no current primary menu
if ( 1 == genesis_get_option( 'trestle_auto_nav' ) && ! wp_get_nav_menu_object( $trestle_nav_title ) && ! has_nav_menu( 'primary' ) ) {
$menu_locations = get_theme_mod( 'nav_menu_locations' );
$menu_locations['primary'] = wp_get_nav_menu_object( $trestle_nav_title )->term_id;
set_theme_mod( 'nav_menu_locations', $menu_locations );
@@ -218,20 +338,12 @@ function trestle_update_revisions_number( $num ) {
* @global object $post The current $post object.
*/
function trestle_post_info_meta() {
if( 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;
// Get post type
$orig_post_type = '';
$post_type = get_post_type( $post->ID );
// Override "page" post type to allow for Post Info & Meta (reset back to page below)
if ( 'page' == $post_type ) {
$orig_post_type = 'page';
set_post_type( $post->ID, 'post' );
}
// Remove all Post Info & Meta
remove_action( 'genesis_entry_header', 'genesis_post_info', 12 );
@@ -243,11 +355,11 @@ function trestle_post_info_meta() {
$single_meta_option = 'trestle_post_meta_' . $post_type . '_single';
// Post Info
if( genesis_get_option( $single_info_option ) )
if ( genesis_get_option( $single_info_option ) )
add_action( 'genesis_entry_header', 'genesis_post_info', 12 );
// Post Meta
if( genesis_get_option( $single_meta_option ) )
if ( genesis_get_option( $single_meta_option ) )
add_action( 'genesis_entry_footer', 'genesis_post_meta' );
}
@@ -257,17 +369,13 @@ function trestle_post_info_meta() {
$archive_meta_option = 'trestle_post_meta_' . $post_type . '_archive';
// Post Info
if( genesis_get_option( $archive_info_option ) )
if ( genesis_get_option( $archive_info_option ) )
add_action( 'genesis_entry_header', 'genesis_post_info', 12 );
// Post Meta
if( genesis_get_option( $archive_meta_option ) )
if ( genesis_get_option( $archive_meta_option ) )
add_action( 'genesis_entry_footer', 'genesis_post_meta' );
}
// Reset post type back to page if need be
if ( ! empty( $orig_post_type ) && 'page' == $orig_post_type )
add_action( 'genesis_entry_footer', 'trestle_set_page_post_type' );
}
}
@@ -293,55 +401,6 @@ function trestle_featured_image_fallback( $args ) {
* General Actions & Filters
===========================================*/
/**
* Adds custom classes to the <body> element for styling purposes.
*
* @since 1.0.0
*
* @param array $classes 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';
// Add 'bubble' class
if ( 'bubble' == genesis_get_option( 'trestle_layout' ) )
$classes[] = 'bubble';
// Add link icon classes
if ( genesis_get_option( 'trestle_external_link_icons' ) )
$classes[] = 'external-link-icons';
if ( genesis_get_option( 'trestle_email_link_icons' ) )
$classes[] = 'email-link-icons';
if ( genesis_get_option( 'trestle_pdf_link_icons' ) )
$classes[] = 'pdf-link-icons';
if ( genesis_get_option( 'trestle_doc_link_icons' ) )
$classes[] = 'doc-link-icons';
// 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';
return $classes;
}
/**
* Resets post type back to page once post info / meta functionality is done.
*
* @since 1.0.0
*
* @global object $post The current $post object.
*/
function trestle_set_page_post_type() {
global $post;
set_post_type( $post->ID, 'page' );
}
/**
* Displays custom Trestle "read more" text in place of WordPress default.
*
+2 -2
View File
@@ -101,8 +101,8 @@ jQuery(window).load(function() {
tallest = (minHeight) ? minHeight : 0;
items.each(function() {
jQuery(this).height('auto');
if(jQuery(this).height() > tallest) {
tallest = jQuery(this).height();
if(jQuery(this).outerHeight() > tallest) {
tallest = jQuery(this).outerHeight();
}
});
+9
View File
@@ -0,0 +1,9 @@
<?php
/**
* Trestle sidebar registration and functionality
*
* @since 1.0.0
*
* @package Trestle
*/
+79 -37
View File
@@ -44,8 +44,10 @@
- Simple Section Navigation
- Events Manager
- Simple Newsletter Signup
- WP Types & Views
- Site Header
- Title Area
- Logo
- Widget Area
- Site Navigation
- General Navigation
@@ -210,6 +212,8 @@ ul {
.site-inner ul {
margin-left: 40px;
margin-left: 4rem;
margin-bottom: 26px;
margin-bottom: 2.6rem;
}
.content ul li {
@@ -555,13 +559,13 @@ input[type="search"]::-webkit-search-results-button {
/* Button Colors & Classes */
.red,
body .red,
.genesis-nav-menu .button {
background-color: #f15123;
border-color: #f15123;
}
.red:hover {
body .red:hover {
background-color: #333;
border-color: #333;
}
@@ -571,22 +575,22 @@ input[type="search"]::-webkit-search-results-button {
border-color: #555;
}
.blue {
body .blue {
background-color: #0971b2;
border-color: #0971b2;
}
.blue:hover {
body .blue:hover {
background-color: #333;
border-color: #333;
}
.green {
body .green {
background-color: #00a476;
border-color: #00a476;
}
.green:hover {
body .green:hover {
background-color: #333;
border-color: #333;
}
@@ -595,12 +599,14 @@ input[type="search"]::-webkit-search-results-button {
display: inline-block;
content: "\00a0\00a0\f0a9";
font-family: FontAwesome;
line-height: 1;
}
.arrow-left:before {
display: inline-block;
content: "\f0a8\00a0\00a0";
font-family: FontAwesome;
line-height: 1;
}
/* Tables
@@ -869,6 +875,7 @@ img.alignright,
.archive-description,
.author-box {
overflow: auto;
background-color: #fff;
margin-bottom: 40px;
margin-bottom: 4rem;
@@ -1230,6 +1237,30 @@ img#wpstats {
text-decoration: none;
}
/* WP Types & Views
--------------------------------------------- */
.wpv-sorting-indicator {
display: none !important;
}
th a.wpv-header-no-sort:after,
th a.wpv-header-asc:after,
th a.wpv-header-desc:after {
content: "\f0dd"; /* \f0a9 = circle arrow, \f061 = arrow, \f178 = long arrow, \f105 = angle, \f101 = double angle, \f0da = caret */
position: relative;
top: -0.4em;
display: inline-block;
margin-left: 0.5em;
font-family: FontAwesome;
font-size: 0.7em;
}
th a.wpv-header-desc:after {
content: "\f0de";
top: auto;
}
/*
Site Header
@@ -1260,10 +1291,6 @@ Site Header
text-align: center;
}
.header-image .title-area {
padding: 0;
}
.site-title {
font-size: 28px;
font-size: 2.8rem;
@@ -1287,6 +1314,12 @@ Site Header
margin-bottom: 0;
}
.has-logo .site-title a:first-child {
position: absolute;
left: -9999px;
top: -9999px;
}
/* Full width header, no widgets */
.header-full-width .title-area,
@@ -1294,25 +1327,17 @@ Site Header
width: 100%;
}
.header-image .site-description,
.header-image .site-title a {
display: block;
text-indent: -9999px;
/* Logo
--------------------------------------------- */
.logo-full {
display: none;
}
/* Logo, hide text */
.header-image .site-header .wrap {
background: url(images/logo.png) no-repeat;
background-position: center top;
padding: 0;
.logo.show {
display: inline-block !important;
}
.header-image .site-title a {
float: left;
min-height: 164px;
width: 100%;
}
/* Widget Area
--------------------------------------------- */
@@ -1374,7 +1399,7 @@ Site Navigation
.genesis-nav-menu a:hover,
.genesis-nav-menu .current_page_item > a,
.genesis-nav-menu .sub-menu .current_page_item > a:hover {
.nav-primary .genesis-nav-menu .sub-menu .current_page_item > a:hover {
color: #fff;
}
@@ -1451,20 +1476,26 @@ Site Navigation
border-top: 1px solid #eee;
}
.site-header .sub-menu .sub-menu {
margin-top: -55px;
}
.site-header .menu a {
.site-header .genesis-nav-menu a {
padding: 15px 10px;
padding: 1.5rem 1rem;
font-size: .8em;
}
.site-header .menu a:hover {
.site-header .genesis-nav-menu a:hover,
.site-header .genesis-nav-menu .current_page_item > a,
.site-header .genesis-nav-menu .current_page_ancestor > a {
color: #333;
}
.site-header .genesis-nav-menu > li {
display: inline-block;
border-top: none;
}
.site-header .genesis-nav-menu .sub-menu {
display: none;
}
/* Primary / Mobile Navigation
--------------------------------------------- */
@@ -2012,14 +2043,22 @@ Media Queries
/* Header
--------------------------------------------- */
.header-image .site-header .wrap {
background-position: left top;
}
.title-area {
width: auto;
margin-bottom: 0;
text-align: left;
}
.header-image .site-header .wrap {
background-position: left top;
.logo-mobile {
display: none;
}
.logo-full {
display: inline-block;
}
.header-image .site-header .widget-area {
@@ -2032,7 +2071,7 @@ Media Queries
clear: right;
}
.site-header .menu .last a {
.site-header .menu > .last a {
padding-right: 0;
}
@@ -2048,6 +2087,10 @@ Media Queries
text-align: right;
}
.site-header .genesis-nav-menu .sub-menu {
display: block;
}
/* Content
--------------------------------------------- */
@@ -2324,12 +2367,11 @@ Media Queries
.genesis-nav-menu ul .parent > a:after {
content: "\f0da";
position: absolute;
top: 1em;
right: 8px;
margin: 0;
font-family: FontAwesome;
font-size: .8em;
vertical-align: middle;
line-height: 1.5;
}
.genesis-nav-menu li:hover {