mirror of
https://github.com/10h30/trestle.git
synced 2026-06-05 15:09:35 +09:00
added nav extras functionality even when no "primary" custom menu is specified, cleaned up stuff, removed extraneous files
This commit is contained in:
@@ -1,304 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*===========================================
|
||||
* Genesis Theme Basics
|
||||
===========================================*/
|
||||
|
||||
// Start the engine
|
||||
include_once( get_template_directory() . '/lib/init.php' );
|
||||
|
||||
// Other includes
|
||||
require_once dirname( __FILE__ ) . '/includes/admin/admin.php';
|
||||
|
||||
// Child theme (do not remove)
|
||||
define( 'CHILD_THEME_NAME', 'Trestle' );
|
||||
define( 'CHILD_THEME_URL', 'http://www.mightyminnow.com/2013/08/our-new-mobile-first-child-theme-for-genesis-2-0/' );
|
||||
define( 'CHILD_THEME_VERSION', '1.3' );
|
||||
|
||||
// Add HTML5 markup structure
|
||||
add_theme_support( 'html5' );
|
||||
|
||||
// Add viewport meta tag for mobile browsers
|
||||
add_theme_support( 'genesis-responsive-viewport' );
|
||||
|
||||
// Add support for custom background
|
||||
add_theme_support( 'custom-background' );
|
||||
|
||||
// Add support for 3-column footer widgets
|
||||
add_theme_support( 'genesis-footer-widgets', 3 );
|
||||
|
||||
|
||||
/*===========================================
|
||||
* Header styles and scripts
|
||||
===========================================*/
|
||||
|
||||
function trestle_header_actions() {
|
||||
|
||||
// Google fonts
|
||||
wp_enqueue_style( 'google-fonts', '//fonts.googleapis.com/css?family=Lato:300,700' );
|
||||
|
||||
// Custom jQuery
|
||||
wp_enqueue_script( 'trestle_jquery', get_stylesheet_directory_uri() . '/includes/js/trestle-jquery.js', array( 'jquery' ), '1.0', true );
|
||||
|
||||
}
|
||||
add_action( 'wp_enqueue_scripts', 'trestle_header_actions');
|
||||
|
||||
|
||||
/*===========================================
|
||||
* Admin styles and scripts
|
||||
===========================================*/
|
||||
function trestle_admin_actions() {
|
||||
add_editor_style( get_stylesheet_directory_uri() . '/includes/admin/admin.css' );
|
||||
}
|
||||
add_action( 'init', 'trestle_admin_actions' );
|
||||
|
||||
|
||||
/*===========================================
|
||||
* Load Required/Suggested Plugins
|
||||
*
|
||||
* Utilizes TGM Plugin Activation class: https://github.com/thomasgriffin/TGM-Plugin-Activation
|
||||
===========================================*/
|
||||
|
||||
// Include plugin activation class
|
||||
require_once dirname( __FILE__ ) . '/includes/classes/class-tgm-plugin-activation.php';
|
||||
|
||||
// Fetch & install plugins from wordpress.org
|
||||
function trestle_register_required_plugins() {
|
||||
|
||||
$plugins = array(
|
||||
|
||||
// Required plugins
|
||||
array(
|
||||
'name' => 'Font Awesome Icons',
|
||||
'slug' => 'font-awesome',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
// Optional plugins
|
||||
array(
|
||||
'name' => 'Black Studio TinyMCE Widget',
|
||||
'slug' => 'black-studio-tinymce-widget',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Events Manager',
|
||||
'slug' => 'events-manager',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Exclude Pages',
|
||||
'slug' => 'exclude-pages',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'FancyBox for WordPress',
|
||||
'slug' => 'fancybox-for-wordpress',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Genesis Featured Widget Amplified',
|
||||
'slug' => 'genesis-featured-widget-amplified',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Genesis Simple Edits',
|
||||
'slug' => 'genesis-simple-edits',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'MapPress Easy Google Maps',
|
||||
'slug' => 'mappress-google-maps-for-wordpress',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'My Page Order',
|
||||
'slug' => 'my-page-order',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'NextGen Gallery',
|
||||
'slug' => 'nextgen-gallery',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Post Thumbnail Editor',
|
||||
'slug' => 'post-thumbnail-editor',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Social Media Widget',
|
||||
'slug' => 'social-media-widget',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Widget Context',
|
||||
'slug' => 'widget-context',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Respond.js',
|
||||
'slug' => 'respondjs',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Simple Image Sizes',
|
||||
'slug' => 'simple-image-sizes',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Simple Section Navigation',
|
||||
'slug' => 'simple-section-navigation',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Types - Custom Fields and Custom Post Types Management',
|
||||
'slug' => 'types',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
// Change this to your theme text domain, used for internationalising strings
|
||||
$theme_text_domain = 'mightyminnow';
|
||||
|
||||
/**
|
||||
* Array of configuration settings. Amend each line as needed.
|
||||
* If you want the default strings to be available under your own theme domain,
|
||||
* leave the strings uncommented.
|
||||
* Some of the strings are added into a sprintf, so see the comments at the
|
||||
* end of each line for what each argument will be.
|
||||
*/
|
||||
$config = array(
|
||||
'domain' => $theme_text_domain, // Text domain - likely want to be the same as your theme.
|
||||
'default_path' => '', // Default absolute path to pre-packaged plugins
|
||||
'parent_menu_slug' => 'themes.php', // Default parent menu slug
|
||||
'parent_url_slug' => 'themes.php', // Default parent URL slug
|
||||
'menu' => 'install-required-plugins', // Menu slug
|
||||
'has_notices' => true, // Show admin notices or not
|
||||
'is_automatic' => true, // Automatically activate plugins after installation or not
|
||||
'message' => '', // Message to output right before the plugins table
|
||||
'strings' => array(
|
||||
'page_title' => __( 'Install Required Plugins', $theme_text_domain ),
|
||||
'menu_title' => __( 'Install Plugins', $theme_text_domain ),
|
||||
'installing' => __( 'Installing Plugin: %s', $theme_text_domain ), // %1$s = plugin name
|
||||
'oops' => __( 'Something went wrong with the plugin API.', $theme_text_domain ),
|
||||
'notice_can_install_required' => _n_noop( 'This theme requires the following plugin: %1$s.', 'This theme requires the following plugins: %1$s.' ), // %1$s = plugin name(s)
|
||||
'notice_can_install_recommended' => _n_noop( 'This theme recommends the following plugin: %1$s.', 'This theme recommends the following plugins: %1$s.' ), // %1$s = plugin name(s)
|
||||
'notice_cannot_install' => _n_noop( 'Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'Sorry, but you do not have the correct permissions to install the %s plugins. Contact the administrator of this site for help on getting the plugins installed.' ), // %1$s = plugin name(s)
|
||||
'notice_can_activate_required' => _n_noop( 'The following required plugin is currently inactive: %1$s.', 'The following required plugins are currently inactive: %1$s.' ), // %1$s = plugin name(s)
|
||||
'notice_can_activate_recommended' => _n_noop( 'The following recommended plugin is currently inactive: %1$s.', 'The following recommended plugins are currently inactive: %1$s.' ), // %1$s = plugin name(s)
|
||||
'notice_cannot_activate' => _n_noop( 'Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'Sorry, but you do not have the correct permissions to activate the %s plugins. Contact the administrator of this site for help on getting the plugins activated.' ), // %1$s = plugin name(s)
|
||||
'notice_ask_to_update' => _n_noop( 'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.' ), // %1$s = plugin name(s)
|
||||
'notice_cannot_update' => _n_noop( 'Sorry, but you do not have the correct permissions to update the %s plugin. Contact the administrator of this site for help on getting the plugin updated.', 'Sorry, but you do not have the correct permissions to update the %s plugins. Contact the administrator of this site for help on getting the plugins updated.' ), // %1$s = plugin name(s)
|
||||
'install_link' => _n_noop( 'Begin installing plugin', 'Begin installing plugins' ),
|
||||
'activate_link' => _n_noop( 'Activate installed plugin', 'Activate installed plugins' ),
|
||||
'return' => __( 'Return to Required Plugins Installer', $theme_text_domain ),
|
||||
'plugin_activated' => __( 'Plugin activated successfully.', $theme_text_domain ),
|
||||
'complete' => __( 'All plugins installed and activated successfully. %s', $theme_text_domain ), // %1$s = dashboard link
|
||||
'nag_type' => 'updated' // Determines admin notice type - can only be 'updated' or 'error'
|
||||
)
|
||||
);
|
||||
|
||||
tgmpa( $plugins, $config );
|
||||
|
||||
}
|
||||
add_action( 'tgmpa_register', 'trestle_register_required_plugins' );
|
||||
|
||||
|
||||
/*===========================================
|
||||
* Auto & Mobile Navigation
|
||||
===========================================*/
|
||||
|
||||
function trestle_nav_modifications() {
|
||||
|
||||
// Auto-generate nav if Genesis theme setting is checked
|
||||
if ( 1 == genesis_get_option( 'auto_nav' ) ) {
|
||||
|
||||
// Remove existing nav
|
||||
remove_action( 'genesis_after_header', 'genesis_do_nav' );
|
||||
|
||||
// Replace existing nav with auto-generated nav
|
||||
function trestle_auto_nav() {
|
||||
|
||||
$args = array(
|
||||
'echo' => false,
|
||||
'show_home' => genesis_get_option( 'include_home_link' ),
|
||||
'menu_class' => ''
|
||||
);
|
||||
|
||||
$ul_class = 'menu genesis-nav-menu menu-primary';
|
||||
|
||||
$menu_args = new stdClass();
|
||||
|
||||
$menu_args->theme_location = 'primary';
|
||||
|
||||
$nav_items = genesis_nav_right( preg_replace('/\/?<ul>/', '', wp_page_menu( $args ) , 1), $menu_args );
|
||||
|
||||
echo '<pre>' . print_r($nav_items, true) . '</pre>';
|
||||
|
||||
$nav = '<ul class="' . $ul_class . '">' . $nav_items . '</ul>';
|
||||
|
||||
$nav_markup_open = genesis_markup( array(
|
||||
'html5' => '<nav %s>',
|
||||
'xhtml' => '<div id="nav">',
|
||||
'context' => 'nav-primary',
|
||||
'echo' => false,
|
||||
) );
|
||||
$nav_markup_open .= genesis_structural_wrap( 'menu-primary', 'open', 0 );
|
||||
|
||||
$nav_markup_close = genesis_structural_wrap( 'menu-primary', 'close', 0 );
|
||||
$nav_markup_close .= genesis_html5() ? '</nav>' : '</div>';
|
||||
|
||||
// Args to pass to navigation right/extras function
|
||||
$args = new stdClass();
|
||||
$args->theme_location = 'primary';
|
||||
|
||||
echo apply_filters ( 'trestle_do_nav', $nav_markup_open . $nav . $nav_markup_close, $args );
|
||||
}
|
||||
add_action( 'genesis_after_header', 'trestle_auto_nav', 10 );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
add_action( 'init', 'trestle_nav_modifications' );
|
||||
|
||||
// Add mobile menu button
|
||||
function trestle_add_mobile_nav() {
|
||||
if ( 1 == genesis_get_option( 'auto_nav' ) || has_nav_menu( 'primary' ) )
|
||||
echo '<a id="menu-button" class="button" href="javascript: void()"><i class="icon-list-ul"></i> Navigation</a>';
|
||||
}
|
||||
add_action( 'genesis_after_header', 'trestle_add_mobile_nav', 0 );
|
||||
|
||||
|
||||
/*===========================================
|
||||
* Actions & Filters
|
||||
===========================================*/
|
||||
|
||||
|
||||
/*===========================================
|
||||
* Footer
|
||||
===========================================*/
|
||||
function trestle_custom_footer($output) {
|
||||
return $output . '<p class="mm">[footer_childtheme_link before=""] by <a href="http://mightyminnow.com">MIGHTYminnow</a></p>';
|
||||
}
|
||||
add_filter( 'genesis_footer_output', 'trestle_custom_footer' );
|
||||
|
||||
|
||||
/*===========================================
|
||||
* Shortcodes
|
||||
===========================================*/
|
||||
@@ -1,275 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*===========================================
|
||||
* Genesis Theme Basics
|
||||
===========================================*/
|
||||
|
||||
// Start the engine
|
||||
include_once( get_template_directory() . '/lib/init.php' );
|
||||
|
||||
// Other includes
|
||||
require_once dirname( __FILE__ ) . '/includes/admin/admin.php';
|
||||
|
||||
// Child theme (do not remove)
|
||||
define( 'CHILD_THEME_NAME', 'Trestle' );
|
||||
define( 'CHILD_THEME_URL', 'http://www.mightyminnow.com/2013/08/our-new-mobile-first-child-theme-for-genesis-2-0/' );
|
||||
define( 'CHILD_THEME_VERSION', '1.3' );
|
||||
|
||||
// Add HTML5 markup structure
|
||||
add_theme_support( 'html5' );
|
||||
|
||||
// Add viewport meta tag for mobile browsers
|
||||
add_theme_support( 'genesis-responsive-viewport' );
|
||||
|
||||
// Add support for custom background
|
||||
add_theme_support( 'custom-background' );
|
||||
|
||||
// Add support for 3-column footer widgets
|
||||
add_theme_support( 'genesis-footer-widgets', 3 );
|
||||
|
||||
|
||||
/*===========================================
|
||||
* Header styles and scripts
|
||||
===========================================*/
|
||||
|
||||
function trestle_header_actions() {
|
||||
|
||||
// Google fonts
|
||||
wp_enqueue_style( 'google-fonts', '//fonts.googleapis.com/css?family=Lato:300,700' );
|
||||
|
||||
// Custom jQuery
|
||||
wp_enqueue_script( 'trestle_jquery', get_stylesheet_directory_uri() . '/includes/js/trestle-jquery.js', array( 'jquery' ), '1.0', true );
|
||||
|
||||
}
|
||||
add_action( 'wp_enqueue_scripts', 'trestle_header_actions');
|
||||
|
||||
|
||||
/*===========================================
|
||||
* Admin styles and scripts
|
||||
===========================================*/
|
||||
function trestle_admin_actions() {
|
||||
add_editor_style( get_stylesheet_directory_uri() . '/includes/admin/admin.css' );
|
||||
}
|
||||
add_action( 'init', 'trestle_admin_actions' );
|
||||
|
||||
|
||||
/*===========================================
|
||||
* Load Required/Suggested Plugins
|
||||
*
|
||||
* Utilizes TGM Plugin Activation class: https://github.com/thomasgriffin/TGM-Plugin-Activation
|
||||
===========================================*/
|
||||
|
||||
// Include plugin activation class
|
||||
require_once dirname( __FILE__ ) . '/includes/classes/class-tgm-plugin-activation.php';
|
||||
|
||||
// Fetch & install plugins from wordpress.org
|
||||
function trestle_register_required_plugins() {
|
||||
|
||||
$plugins = array(
|
||||
|
||||
// Required plugins
|
||||
array(
|
||||
'name' => 'Font Awesome Icons',
|
||||
'slug' => 'font-awesome',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
// Optional plugins
|
||||
array(
|
||||
'name' => 'Black Studio TinyMCE Widget',
|
||||
'slug' => 'black-studio-tinymce-widget',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Events Manager',
|
||||
'slug' => 'events-manager',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Exclude Pages',
|
||||
'slug' => 'exclude-pages',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'FancyBox for WordPress',
|
||||
'slug' => 'fancybox-for-wordpress',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Genesis Featured Widget Amplified',
|
||||
'slug' => 'genesis-featured-widget-amplified',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Genesis Simple Edits',
|
||||
'slug' => 'genesis-simple-edits',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'MapPress Easy Google Maps',
|
||||
'slug' => 'mappress-google-maps-for-wordpress',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'My Page Order',
|
||||
'slug' => 'my-page-order',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'NextGen Gallery',
|
||||
'slug' => 'nextgen-gallery',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Post Thumbnail Editor',
|
||||
'slug' => 'post-thumbnail-editor',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Social Media Widget',
|
||||
'slug' => 'social-media-widget',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Widget Context',
|
||||
'slug' => 'widget-context',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Respond.js',
|
||||
'slug' => 'respondjs',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Simple Image Sizes',
|
||||
'slug' => 'simple-image-sizes',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Simple Section Navigation',
|
||||
'slug' => 'simple-section-navigation',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
array(
|
||||
'name' => 'Types - Custom Fields and Custom Post Types Management',
|
||||
'slug' => 'types',
|
||||
'required' => true,
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
// Change this to your theme text domain, used for internationalising strings
|
||||
$theme_text_domain = 'mightyminnow';
|
||||
|
||||
/**
|
||||
* Array of configuration settings. Amend each line as needed.
|
||||
* If you want the default strings to be available under your own theme domain,
|
||||
* leave the strings uncommented.
|
||||
* Some of the strings are added into a sprintf, so see the comments at the
|
||||
* end of each line for what each argument will be.
|
||||
*/
|
||||
$config = array(
|
||||
'domain' => $theme_text_domain, // Text domain - likely want to be the same as your theme.
|
||||
'default_path' => '', // Default absolute path to pre-packaged plugins
|
||||
'parent_menu_slug' => 'themes.php', // Default parent menu slug
|
||||
'parent_url_slug' => 'themes.php', // Default parent URL slug
|
||||
'menu' => 'install-required-plugins', // Menu slug
|
||||
'has_notices' => true, // Show admin notices or not
|
||||
'is_automatic' => true, // Automatically activate plugins after installation or not
|
||||
'message' => '', // Message to output right before the plugins table
|
||||
'strings' => array(
|
||||
'page_title' => __( 'Install Required Plugins', $theme_text_domain ),
|
||||
'menu_title' => __( 'Install Plugins', $theme_text_domain ),
|
||||
'installing' => __( 'Installing Plugin: %s', $theme_text_domain ), // %1$s = plugin name
|
||||
'oops' => __( 'Something went wrong with the plugin API.', $theme_text_domain ),
|
||||
'notice_can_install_required' => _n_noop( 'This theme requires the following plugin: %1$s.', 'This theme requires the following plugins: %1$s.' ), // %1$s = plugin name(s)
|
||||
'notice_can_install_recommended' => _n_noop( 'This theme recommends the following plugin: %1$s.', 'This theme recommends the following plugins: %1$s.' ), // %1$s = plugin name(s)
|
||||
'notice_cannot_install' => _n_noop( 'Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'Sorry, but you do not have the correct permissions to install the %s plugins. Contact the administrator of this site for help on getting the plugins installed.' ), // %1$s = plugin name(s)
|
||||
'notice_can_activate_required' => _n_noop( 'The following required plugin is currently inactive: %1$s.', 'The following required plugins are currently inactive: %1$s.' ), // %1$s = plugin name(s)
|
||||
'notice_can_activate_recommended' => _n_noop( 'The following recommended plugin is currently inactive: %1$s.', 'The following recommended plugins are currently inactive: %1$s.' ), // %1$s = plugin name(s)
|
||||
'notice_cannot_activate' => _n_noop( 'Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'Sorry, but you do not have the correct permissions to activate the %s plugins. Contact the administrator of this site for help on getting the plugins activated.' ), // %1$s = plugin name(s)
|
||||
'notice_ask_to_update' => _n_noop( 'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.' ), // %1$s = plugin name(s)
|
||||
'notice_cannot_update' => _n_noop( 'Sorry, but you do not have the correct permissions to update the %s plugin. Contact the administrator of this site for help on getting the plugin updated.', 'Sorry, but you do not have the correct permissions to update the %s plugins. Contact the administrator of this site for help on getting the plugins updated.' ), // %1$s = plugin name(s)
|
||||
'install_link' => _n_noop( 'Begin installing plugin', 'Begin installing plugins' ),
|
||||
'activate_link' => _n_noop( 'Activate installed plugin', 'Activate installed plugins' ),
|
||||
'return' => __( 'Return to Required Plugins Installer', $theme_text_domain ),
|
||||
'plugin_activated' => __( 'Plugin activated successfully.', $theme_text_domain ),
|
||||
'complete' => __( 'All plugins installed and activated successfully. %s', $theme_text_domain ), // %1$s = dashboard link
|
||||
'nag_type' => 'updated' // Determines admin notice type - can only be 'updated' or 'error'
|
||||
)
|
||||
);
|
||||
|
||||
tgmpa( $plugins, $config );
|
||||
|
||||
}
|
||||
add_action( 'tgmpa_register', 'trestle_register_required_plugins' );
|
||||
|
||||
|
||||
/*===========================================
|
||||
* Auto & Mobile Navigation
|
||||
===========================================*/
|
||||
|
||||
function trestle_nav_modifications( $items, $menu, $args ) {
|
||||
//echo '<pre>' . print_r($args, true) . '</pre>';
|
||||
|
||||
|
||||
// Auto-generate nav if Genesis theme setting is checked
|
||||
if ( 1 == genesis_get_option( 'auto_nav' ) ) {
|
||||
|
||||
$args = array(
|
||||
'echo' => false,
|
||||
'show_home' => genesis_get_option( 'include_home_link' ),
|
||||
'menu_class' => ''
|
||||
);
|
||||
|
||||
$ul_class = 'menu genesis-nav-menu menu-primary';
|
||||
|
||||
$items = get_posts( $args );
|
||||
|
||||
}
|
||||
|
||||
return $items;
|
||||
|
||||
}
|
||||
add_filter( 'wp_get_nav_menu_items', 'trestle_nav_modifications', 99, 3 );
|
||||
|
||||
// Add mobile menu button
|
||||
function trestle_add_mobile_nav() {
|
||||
if ( 1 == genesis_get_option( 'auto_nav' ) || has_nav_menu( 'primary' ) )
|
||||
echo '<a id="menu-button" class="button" href="javascript: void()"><i class="icon-list-ul"></i> Navigation</a>';
|
||||
}
|
||||
add_action( 'genesis_after_header', 'trestle_add_mobile_nav', 0 );
|
||||
|
||||
|
||||
/*===========================================
|
||||
* Actions & Filters
|
||||
===========================================*/
|
||||
|
||||
|
||||
/*===========================================
|
||||
* Footer
|
||||
===========================================*/
|
||||
function trestle_custom_footer($output) {
|
||||
return $output . '<p class="mm">[footer_childtheme_link before=""] by <a href="http://mightyminnow.com">MIGHTYminnow</a></p>';
|
||||
}
|
||||
add_filter( 'genesis_footer_output', 'trestle_custom_footer' );
|
||||
|
||||
|
||||
/*===========================================
|
||||
* Shortcodes
|
||||
===========================================*/
|
||||
+4
-4
@@ -13,7 +13,7 @@ require_once dirname( __FILE__ ) . '/includes/admin/admin.php';
|
||||
// Child theme (do not remove)
|
||||
define( 'CHILD_THEME_NAME', 'Trestle' );
|
||||
define( 'CHILD_THEME_URL', 'http://www.mightyminnow.com/2013/08/our-new-mobile-first-child-theme-for-genesis-2-0/' );
|
||||
define( 'CHILD_THEME_VERSION', '1.3' );
|
||||
define( 'CHILD_THEME_VERSION', '1.0' );
|
||||
|
||||
// Add HTML5 markup structure
|
||||
add_theme_support( 'html5' );
|
||||
@@ -35,7 +35,7 @@ add_theme_support( 'genesis-footer-widgets', 3 );
|
||||
function trestle_header_actions() {
|
||||
|
||||
// Google fonts
|
||||
wp_enqueue_style( 'google-fonts', '//fonts.googleapis.com/css?family=Lato:300,700' );
|
||||
wp_enqueue_style( 'google-fonts', '//fonts.googleapis.com/css?family=Lato:300,700,900' );
|
||||
|
||||
// Custom jQuery
|
||||
wp_enqueue_script( 'trestle_jquery', get_stylesheet_directory_uri() . '/includes/js/trestle-jquery.js', array( 'jquery' ), '1.0', true );
|
||||
@@ -277,7 +277,7 @@ function trestle_nav_modifications() {
|
||||
|
||||
echo apply_filters ( 'trestle_do_nav', $nav_markup_open . $nav . $nav_markup_close, $args );
|
||||
}
|
||||
add_action( 'genesis_after_header', 'trestle_auto_nav', 10 );
|
||||
add_action( 'genesis_after_header', 'trestle_auto_nav', 0 );
|
||||
|
||||
}
|
||||
|
||||
@@ -296,7 +296,7 @@ add_action( 'genesis_after_header', 'trestle_add_mobile_nav', 0 );
|
||||
* Actions & Filters
|
||||
===========================================*/
|
||||
|
||||
// Add jquery class to body
|
||||
// Add jquery class to body for styling nav if jQuery isn't enabled (jQuery will remove this class if enabled)
|
||||
function no_jquery( $classes ) {
|
||||
$classes[] = 'no-jquery';
|
||||
return $classes;
|
||||
|
||||
+22
-14
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*===========================================
|
||||
* Genesis Custom Theme Settings
|
||||
* Trestle Custom Theme Settings
|
||||
*
|
||||
* Modified from: http://www.billerickson.net/genesis-theme-options/
|
||||
===========================================*/
|
||||
@@ -17,7 +17,7 @@ function trestle_custom_defaults( $defaults ) {
|
||||
|
||||
$defaults['auto_nav'] = '0';
|
||||
$defaults['include_home_link'] = '1';
|
||||
$defaults['footer_text'] = sprintf( '[footer_copyright before="%s "] · [footer_childtheme_link before="" after=" %s"] [footer_genesis_link url="http://www.studiopress.com/" before=""] · [footer_wordpress_link] · [footer_loginout]', __( 'Copyright', 'trestle' ), __( 'on', 'trestle' ) );
|
||||
$defaults['nav_extras'] = '1';
|
||||
|
||||
return $defaults;
|
||||
}
|
||||
@@ -81,19 +81,27 @@ function trestle_navigation_settings_box() {
|
||||
</p>
|
||||
<?php
|
||||
|
||||
$trestle_nav_title = __( 'Trestle Auto Nav Placeholder', 'trestle' );
|
||||
|
||||
// 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( 'auto_nav' ) && !wp_get_nav_menu_object( $trestle_nav_title ) && !has_nav_menu( 'primary' ) ) {
|
||||
|
||||
// Create placholder menu
|
||||
wp_create_nav_menu( $trestle_nav_title );
|
||||
|
||||
// Assign placeholder menu to '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 );
|
||||
|
||||
}
|
||||
|
||||
// Remove placeholder menu if auto-nav is disabled
|
||||
if ( 1 != genesis_get_option( 'auto_nav' ) && wp_get_nav_menu_object( $trestle_nav_title ) && $trestle_nav_title != get_registered_nav_menus()['primary'] )
|
||||
wp_delete_nav_menu( $trestle_nav_title );
|
||||
|
||||
// Output default Genesis nav options
|
||||
$genesis_settings_object = new Genesis_Admin_Settings;
|
||||
$genesis_settings_object->nav_box();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create Footer Metabox
|
||||
*/
|
||||
|
||||
function trestle_footer_settings_box() {
|
||||
?>
|
||||
<p>
|
||||
<label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[footer_text]">Custom footer text</label><br />
|
||||
<input type="text" class="widefat" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[footer_text]" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[footer_text]" value="<?php echo genesis_get_option( 'footer_text' ); ?>" />
|
||||
</p>
|
||||
<?php
|
||||
}
|
||||
@@ -272,7 +272,7 @@ h6 {
|
||||
font-family: Lato, sans-serif;
|
||||
font-weight: 700;
|
||||
line-height: 1.2;
|
||||
margin: 0 0 16px;
|
||||
margin: 0 0 14px;
|
||||
margin: 0 0 1.6rem;
|
||||
}
|
||||
|
||||
@@ -286,6 +286,10 @@ h2 {
|
||||
font-size: 3rem;
|
||||
}
|
||||
|
||||
.entry-content h2 {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 24px;
|
||||
font-size: 2.4rem;
|
||||
@@ -387,6 +391,16 @@ input:hover[type="submit"],
|
||||
border-color: #f15123;
|
||||
}
|
||||
|
||||
.red {
|
||||
background-color: #f15123;
|
||||
border-color: #f15123;
|
||||
}
|
||||
|
||||
.red:hover {
|
||||
background-color: #333;
|
||||
border: 1px solid #333;
|
||||
}
|
||||
|
||||
.genesis-nav-menu input[type="submit"]:hover {
|
||||
background-color: #555;
|
||||
border-color: #555;
|
||||
@@ -678,10 +692,6 @@ img.alignright,
|
||||
margin-bottom: 0.4rem;
|
||||
}
|
||||
|
||||
.author-box a {
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.author-box p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
@@ -844,6 +854,28 @@ img#wpstats {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Fancybox for Wordpress
|
||||
--------------------------------------------- */
|
||||
#fancybox-wrap, #fancybox-wrap * {
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
/* Mappress
|
||||
--------------------------------------------- */
|
||||
.mapp-layout,
|
||||
.mapp-map-links {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
/* Simple Section Navigation */
|
||||
.simple-section-nav .current-menu-item > a,
|
||||
.simple-section-nav .current_page_item > a,
|
||||
.simple-section-nav .current_page_ancestor > a {
|
||||
color: #f15123;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Site Header
|
||||
@@ -1159,11 +1191,13 @@ Content Area
|
||||
margin-bottom: 4rem;
|
||||
}
|
||||
|
||||
.entry-content a {
|
||||
.site-inner a {
|
||||
border-bottom: 1px solid #ddd;
|
||||
color: #f15123;
|
||||
}
|
||||
|
||||
.entry-content a {
|
||||
color: #f15123;
|
||||
}
|
||||
.entry-content a:hover {
|
||||
color: #333;
|
||||
}
|
||||
@@ -1359,10 +1393,6 @@ Sidebars
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.sidebar a {
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.sidebar p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
@@ -1394,11 +1424,12 @@ Footer Widgets
|
||||
background-color: #333;
|
||||
color: #999;
|
||||
clear: both;
|
||||
padding: 40px 5% 16px;
|
||||
padding: 4rem 5% 1.6rem;
|
||||
}
|
||||
|
||||
|
||||
.footer-widgets .wrap {
|
||||
padding: 40px 20px 0;
|
||||
padding: 4rem 2rem 0;
|
||||
}
|
||||
|
||||
.footer-widgets-1,
|
||||
.footer-widgets-2,
|
||||
@@ -1416,7 +1447,6 @@ Footer Widgets
|
||||
}
|
||||
|
||||
.footer-widgets a {
|
||||
border-bottom: 1px solid #666;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
@@ -1462,10 +1492,6 @@ Site Footer
|
||||
padding: 2rem;
|
||||
}
|
||||
|
||||
.site-footer a {
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.site-footer a:before,
|
||||
.site-footer a:after {
|
||||
display: none;
|
||||
@@ -1484,19 +1510,12 @@ Site Footer
|
||||
General Components
|
||||
---------------------------------------------------------------------------------------------------- */
|
||||
|
||||
/* Search Form */
|
||||
/* Search Form
|
||||
--------------------------------------------- */
|
||||
.search-form {
|
||||
padding-right: 115px;
|
||||
}
|
||||
|
||||
/* FancyBox for Wordpress */
|
||||
#fancybox-wrap * {
|
||||
-webkit-box-sizing: content-box !important;
|
||||
-moz-box-sizing: content-box !important;
|
||||
-ms-box-sizing: content-box !important;
|
||||
box-sizing: content-box !important;
|
||||
}
|
||||
|
||||
.search-form input[type="submit"] {
|
||||
float: right;
|
||||
max-width: 108px;
|
||||
@@ -1586,15 +1605,21 @@ Media Queries
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.entry, .sidebar .widget {
|
||||
padding: 30px 40px;
|
||||
padding: 3rem 4rem;
|
||||
}
|
||||
|
||||
.sidebar-secondary {
|
||||
width: 17.25%;
|
||||
}
|
||||
|
||||
/* Padding - remove padding in rules below for solid background */
|
||||
.entry,
|
||||
.sidebar .widget,
|
||||
.author-box,
|
||||
.comment-respond,
|
||||
.entry-comments,
|
||||
.entry-pings {
|
||||
padding: 30px 40px;
|
||||
padding: 3rem 4rem;
|
||||
}
|
||||
|
||||
.footer-widgets-1 {
|
||||
margin-right: 40px;
|
||||
margin-right: 4rem;
|
||||
@@ -1605,16 +1630,6 @@ Media Queries
|
||||
padding: 4rem 4rem 2.4rem;
|
||||
}
|
||||
|
||||
.author-box {
|
||||
padding: 40px;
|
||||
padding: 4rem;
|
||||
}
|
||||
|
||||
.comment-respond, .entry-comments, .entry-pings {
|
||||
padding: 40px;
|
||||
padding: 4rem;
|
||||
}
|
||||
|
||||
.entry-footer .entry-meta {
|
||||
border-top: 2px solid #f5f5f5;
|
||||
margin: 0 -40px;
|
||||
@@ -1622,11 +1637,7 @@ Media Queries
|
||||
padding: 32px 40px 8px;
|
||||
padding: 3.2rem 4rem 0.8rem;
|
||||
}
|
||||
|
||||
.footer-widgets {
|
||||
padding: 40px 0 16px;
|
||||
padding: 4rem 0 1.6rem;
|
||||
}
|
||||
/* End padding section */
|
||||
|
||||
.footer-widgets-1,
|
||||
.footer-widgets-2,
|
||||
|
||||
Reference in New Issue
Block a user