Genesis Framework Code Snippets

Here's collection of Code snippets of Genesis Framework for WordPress. These code snippets are supposed to be used in functions.php of child theme. You can use these code snippets in existing official genesis themes or while making your own themes.

These code snippets helps you make changes to your layout and allows you to control how you manage the look and feel of the template. This hub will be regularly updated with the new code snippets as I use or come across on the web.

Learn HTML to WordPress Conversion.

Where to put these code snippets?

Your genesis child theme has functions.php file. Open the functions.php file from the wordpress interface or upload the functions.php via ftp to your Genesis Themes folder.

Header Code Snippets

Here are some of the code snippets that you can use to edit the genesis child theme header.
You'll find following :
  • Add Custom Background
  • Add Support for Custom Header
  • Remove Header
  • Remove Title & Description
  • Custom Header URL
  • Remove Header Right Widget Area
Add Custom Background
/** Add support for custom background */
add_custom_background();
Add Support for Custom Header
/** Add support for custom header */
add_theme_support( 'genesis-custom-header', array( 'width' => 960, 'height' => 100 ) );
Remove Header
/** Remove Header */
remove_action( 'genesis_header', 'genesis_do_header' );
Remove Title & Description
/** Remove Title & Description */
remove_action( 'genesis_site_title', 'genesis_seo_site_title' );
remove_action( 'genesis_site_description', 'genesis_seo_site_description' );
Custom Header URL
// Customize the header URL
add_filter('genesis_seo_title', 'custom_seo_title', 10, 3);
function custom_seo_title($title, $inside, $wrap) {
$inside = sprintf( '%s', esc_attr( get_bloginfo('name') ), get_bloginfo('name') );
$title = sprintf( '<%s id="title">%s</%s>', $wrap, $inside, $wrap);
return $title;
}
Remove Header Right Widget Area
// Remove the header right widget area
unregister_sidebar( 'header-right' );

Navigation Code Snippets

You'll find the following Navigation Code Snippets.
  • Move Navigation Menu
  • Secondary Navigation Menu
  • Unregister Navigation Menus
  • Reposition Navigation
Navigation Menu
/** Move primary nav menu */
remove_action( 'genesis_after_header', 'genesis_do_nav' );
add_action( 'genesis_before_header', 'genesis_do_nav' );
Secondary Navigation Menu
/** Move secondary nav menu */
remove_action( 'genesis_after_header', 'genesis_do_subnav' );
add_action( 'genesis_before_header', 'genesis_do_subnav' );
Unregister Navigation Menus
// Unregister primary/secondary navigation menus
remove_theme_support( 'genesis-menus' );
// Unregister primary navigation menu
add_theme_support( 'genesis-menus', array( 'secondary' => __( 'Secondary Navigation Menu', 'genesis' ) ) );
// Unregister secondary navigation menu
add_theme_support( 'genesis-menus', array( 'primary' => __( 'Primary Navigation Menu', 'genesis' ) ) );
Reposition Navigation
// Reposition the primary navigation menu
remove_action( 'genesis_after_header', 'genesis_do_nav' );
add_action( 'genesis_before_header', 'genesis_do_nav' );
// Reposition the secondary navigation menu
remove_action( 'genesis_after_header', 'genesis_do_subnav' );
add_action( 'genesis_before_header', 'genesis_do_subnav' );

Theme Layout Code Snippets

There are some easy layout fixes for the genesis child theme.
  • Force Layout Setting
  • Register Default Layout Setting
  • Unregister Layout Settings
  • Add Structural Wraps
Register Default Layout Setting
// Register default layout setting
genesis_set_default_layout( 'content-sidebar' );
// Register default layout setting
genesis_set_default_layout( 'sidebar-content' );
// Register default layout setting
genesis_set_default_layout( 'content-sidebar-sidebar' );
// Register default layout setting
genesis_set_default_layout( 'sidebar-sidebar-content' );
// Register default layout setting
genesis_set_default_layout( 'sidebar-content-sidebar' );
// Register default layout setting
genesis_set_default_layout( 'full-width-content' );
Unregister Layout Settings
// Unregister content/sidebar layout setting
genesis_unregister_layout( 'content-sidebar' );
// Unregister sidebar/content layout setting
genesis_unregister_layout( 'sidebar-content' );
// Unregister content/sidebar/sidebar layout setting
genesis_unregister_layout( 'content-sidebar-sidebar' );
// Unregister sidebar/sidebar/content layout setting
genesis_unregister_layout( 'sidebar-sidebar-content' );
// Unregister sidebar/content/sidebar layout setting
genesis_unregister_layout( 'sidebar-content-sidebar' );
// Unregister full-width content layout setting
genesis_unregister_layout( 'full-width-content' );
Add Structural Wraps
// Add support for structural wraps
add_theme_support( 'genesis-structural-wraps', array(
'header',
'nav',
'subnav',
'inner',
'footer-widgets',
'footer'
) );

Admin Management Code Snippet

Some admin level settings you can edit:
  • Color Style Options
  • Managing Settings
Managing Settings // Remove Genesis in-post SEO Settings remove_action( 'admin_menu', 'genesis_add_inpost_seo_box' ); // Remove Genesis Layout Settings remove_theme_support( 'genesis-inpost-layouts' ); // Remove Genesis menu link remove_theme_support( 'genesis-admin-menu' ); // Remove Genesis SEO Settings menu link remove_theme_support( 'genesis-seo-settings-menu' ); Color Style Options // Create color style options add_theme_support( 'genesis-style-selector', array( 'theme-blue' => __( 'Blue', 'custom-theme-text-domain' ), 'theme-green' => __( 'Green', 'custom-theme-text-domain' ), 'theme-orange' => __( 'Orange', 'custom-theme-text-domain' ), 'theme-red' => __( 'Red', 'custom-theme-text-domain' )
) );

Post Meta Code Snippets

Genesis Post Meta Code Snippets are as follows:
  • Remove Post info and Post Meta
  • Remove Edit (Post) Link
  • Add Post Image above Title
  • Custom Post Info
  • Custom Post Meta
  • Change Avatar Size
  • Remove Breadcrumbs
  • Change Read More Link
Remove Post info and Post Meta // Remove Post Info remove_action('genesis_before_post_content', 'genesis_post_info'); // Remove Post Meta remove_action('genesis_after_post_content', 'genesis_post_meta'); Remove Edit (Post) Link /** Remove Edit Link */ add_filter( 'edit_post_link', '__return_false' ); Remove default Post Image /** Remove default post image */ remove_action( 'genesis_post_content', 'genesis_do_post_image' ); Add Post Image above Title /** Add custom post image above post title */ add_action( 'genesis_before_post_content', 'generate_post_image', 5 ); function generate_post_image() { if ( is_page() || ! genesis_get_option( 'content_archive_thumbnail' ) ) return; if ( $image = genesis_get_image( array( 'format' => 'url', 'size' => genesis_get_option( 'image_size' ) ) ) ) { printf( '%s', get_permalink(), $image, the_title_attribute( 'echo=0' ) ); } }
Custom Post Info add_filter( 'genesis_post_info', 'child_post_info_filter' ); function child_post_info_filter( $post_info ) { return '[post_date] by [post_author_posts_link] at [post_time] [post_comments] [post_edit]'; } Custom Post Meta add_filter( 'genesis_post_meta', 'child_post_meta_filter' ); function child_post_meta_filter( $post_meta ) { return '[post_categories] Tagged with [post_tags]'; } Change Avatar Size add_filter( 'genesis_comment_list_args', 'child_comment_list_args' ); function child_comment_list_args( $args ) { return array( 'type' => 'comment', 'avatar_size' => 42, 'callback' => 'genesis_comment_callback' ); } Remove Breadcrumbs remove_action('genesis_before_loop', 'genesis_do_breadcrumbs'); add_action('genesis_before_content', 'genesis_do_breadcrumbs'); Change Read More Link add_filter( 'excerpt_more', 'child_read_more_link' ); add_filter( 'get_the_content_more_link', 'child_read_more_link' ); add_filter( 'the_content_more_link', 'child_read_more_link' ); function child_read_more_link() { return ''; }  

Sidebar Code Snippets

Some of the sidebar tweaks include:
  • Remove Sidebar
  • Add Custom Sidebar
  • Add Widgets in Sidebar
  • Unregister Genesis Sidebar Layout
Remove Sidebar /** Remove default sidebar */ remove_action( 'genesis_sidebar', 'genesis_do_sidebar' ); Remove Secondary and Additional Sidebar /** Remove secondary sidebar */ unregister_sidebar( 'header-right' ); unregister_sidebar( 'sidebar' ); unregister_sidebar( 'sidebar-alt' ); Add Custom Sidebar /** Add custom sidebar */ genesis_register_sidebar(array( 'name'=>'Alternative Sidebar', 'id' => 'sidebar-alternative', 'description' => 'This is an alternative sidebar', 'before_widget' => '
', 'after_widget' => "
\n", 'before_title' => '

', 'after_title' => "

\n" )); Add Widgets in Sidebar add_action( 'genesis_sidebar', 'child_do_sidebar' ); function child_do_sidebar() { if ( !function_exists( 'dynamic_sidebar' ) || !dynamic_sidebar( 'Sidebar Name' ) ) { }} Unregister Genesis Sidebar Layout // Unregister primary sidebar unregister_sidebar( 'sidebar' ); // Unregister secondary sidebar  unregister_sidebar( 'sidebar-alt' ); 

Footer Code Snippet

Footer Code snippets are as follows:
  • Custom Footer Credits with Less information
  • Custom Footer with Disclosure and Policy Links
  • Remove Footer Widgets
  • Remove Footer
  • Reposition the Footer
/** Remove footer widgets */
remove_theme_support( 'genesis-footer-widgets', 3 );

Remove Footer

/** Remove Footer */
remove_action( 'genesis_footer', 'genesis_do_footer' );

Reposition the Footer // Reposition the footer remove_action( 'genesis_footer', 'genesis_footer_markup_open', 5 ); remove_action( 'genesis_footer', 'genesis_do_footer' ); remove_action( 'genesis_footer', 'genesis_footer_markup_close', 15 ); add_action( 'genesis_after', 'genesis_footer_markup_open', 11 ); add_action( 'genesis_after', 'genesis_do_footer', 12 ); add_action( 'genesis_after', 'genesis_footer_markup_close', 13 ); Custom Footer Credits with Less information add_filter('genesis_footer_creds_text', 'custom_footer_creds_text'); function custom_footer_creds_text($creds) { $creds = '[footer_copyright] ' . get_bloginfo('name') ; return $creds; } Custom Footer with Disclosure and Policy Links /** Footer */ remove_action('genesis_footer', 'genesis_do_footer'); add_action('genesis_footer', 'eo_custom_footer'); function eo_custom_footer() { echo ''; echo 'Copyright © '; echo '2011 - '; echo date('Y'); echo ' · Disclosure · Privacy Policy · All rights reserved'; echo '
'; }

Misc. Code Snippets

Many other misc code snippets that you can add in your child theme. Depending on your widget, layout and search box related needs, these code snippets could help you achieve the specific results.

Learn HTML to WordPress Conversion.