mirror of
https://github.com/10h30/trestle.git
synced 2026-07-12 03:06:15 +09:00
Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 020cddc9c7 | |||
| eec8b089b7 | |||
| 3ed98366b2 | |||
| 2a1c664578 | |||
| bee85f8380 | |||
| 6d299c1cba | |||
| 751971247f | |||
| 1c4a1bd21e | |||
| e3db022b76 | |||
| 25eef48115 | |||
| fc9fc2a7c4 | |||
| 4cdfa12b62 | |||
| 0b4282cb67 | |||
| ba946f1c07 | |||
| b7a8f001bc | |||
| 8ad9884ef0 | |||
| 3fb569748c | |||
| 414306de50 | |||
| 82babdee13 | |||
| 00a156379b | |||
| 74fdbd7512 | |||
| e898968b18 | |||
| a0fdd02eef | |||
| ca307ef341 | |||
| a866980250 | |||
| 74e451cfe3 | |||
| 4e5b4285e3 | |||
| 8f7fc9fb87 | |||
| 443eed1349 | |||
| 4f8fb6726e | |||
| f10cfd7438 | |||
| cfa595e273 | |||
| 2c74f66b49 |
@@ -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. We’ve 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
@@ -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' );
|
||||
|
||||
@@ -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 <?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 <?php _e( 'and wider (should match main CSS breakpoint)', 'trestle' ); ?></label>
|
||||
</p>
|
||||
|
||||
<h4><?php _e( 'Link Icons', 'trestle' ) ?></h4>
|
||||
|
||||
@@ -11,7 +11,9 @@
|
||||
/* Overrides
|
||||
--------------------------------------------- */
|
||||
body {
|
||||
padding: 8px 16px;
|
||||
background-color: #FFF;
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
.content {
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Trestle sidebar registration and functionality
|
||||
*
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @package Trestle
|
||||
*/
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user