Skip to content

Instantly share code, notes, and snippets.

@robneu
Forked from cre8tivediva/gist:18cc4958e9dc0f3aa4e8
Created August 9, 2014 21:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robneu/5f6c6eb8ac20fa5ef6a8 to your computer and use it in GitHub Desktop.
Save robneu/5f6c6eb8ac20fa5ef6a8 to your computer and use it in GitHub Desktop.
<?php
/**
* This file adds the Home Page to the Tidy Theme.
*/
add_action( 'genesis_meta', 'tidy_home_genesis_meta' );
/**
* Add widget support for homepage. If no widgets active, display the default loop.
*
*/
function tidy_home_genesis_meta() {
//* Do nothing if we're not on the front page.
if ( ! is_front_page() ) {
return;
}
if ( is_active_sidebar( 'home-top' ) || is_active_sidebar( 'home-welcome' ) || is_active_sidebar( 'home-middle-left' ) || is_active_sidebar( 'home-middle-right' ) || is_active_sidebar( 'home-cta' ) || is_active_sidebar( 'home-bottom' ) ) {
// Force content-sidebar layout setting
add_filter( 'genesis_site_layout', '__genesis_return_full_width_content' );
// Add tidy-home body class
add_filter( 'body_class', 'tidy_body_class' );
}
if ( is_active_sidebar( 'home-top' ) ) {
// Add excerpt length filter
add_action( 'genesis_before_loop', 'tidy_top_excerpt_length' );
// Add homepage widgets
add_action( 'genesis_before_loop', 'tidy_homepage_top_widgets' );
// Remove excerpt length filter
add_action( 'genesis_before_loop', 'tidy_remove_top_excerpt_length' );
}
if ( is_active_sidebar( 'home-middle-left' ) || is_active_sidebar( 'home-middle-right' ) || is_active_sidebar( 'home-cta' ) || is_active_sidebar( 'home-bottom' ) ) {
// Add homepage widgets
add_action( 'genesis_loop', 'tidy_homepage_widgets' );
}
}
function tidy_body_class( $classes ) {
$classes[] = 'tidy-home';
return $classes;
}
function tidy_excerpt_length( $length ) {
return 25; // pull first 50 words
}
function tidy_top_excerpt_length() {
add_filter( 'excerpt_length', 'tidy_excerpt_length' );
}
function tidy_remove_top_excerpt_length() {
remove_filter( 'excerpt_length', 'tidy_excerpt_length' );
}
function tidy_homepage_top_widgets() {
echo '<div class="home-feature">';
genesis_widget_area( 'home-top', array(
'before' => '<div class="home-top widget-area">',
'after' => '</div>',
) );
genesis_widget_area( 'home-welcome', array(
'before' => '<div class="home-welcome widget-area">',
'after' => '</div>',
) );
echo '</div>';
echo '<div style="clear:both;"></div>';
genesis_widget_area( 'home-cta-top', array(
'before' => '<div class="home-cta-top widget-area">',
'after' => '</div>',
) );
}
function tidy_homepage_widgets() {
if ( is_active_sidebar( 'home-middle-left' ) || is_active_sidebar( 'home-middle-right' ) ) {
echo '<div class="home-middle">';
genesis_widget_area( 'home-middle-left', array(
'before' => '<div class="home-middle-left widget-area">',
'after' => '</div>',
) );
genesis_widget_area( 'home-middle-right', array(
'before' => '<div class="home-middle-right widget-area">',
'after' => '</div>',
) );
echo '</div>';
}
genesis_widget_area( 'home-cta', array(
'before' => '<div class="home-cta widget-area">',
'after' => '</div>',
) );
genesis_widget_area( 'home-bottom', array(
'before' => '<div class="home-bottom widget-area">',
'after' => '</div>',
) );
}
genesis();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment