Create a sidebar for a specific page with the Genesis Framework, without a new template file.
Source: https://gist.github.com/joshuadavidnelson/cfc31e136bb07ab5ef80
Tags: Genesis, Page Template, Sidebar
Bullshit Free WordPress Development
Create a sidebar for a specific page with the Genesis Framework, without a new template file.
<?php | |
/** | |
* Override the default sidebar in a Genesis Child Theme with the following code | |
* | |
* @author Joshua David Nelson, [email protected] | |
*/ | |
add_action( 'genesis_setup', 'child_theme_setup' ); | |
function child_theme_setup() { | |
// Register New Sidebar | |
genesis_register_sidebar( array( | |
'id' => 'about-sidebar', | |
'name' => __( 'About Sidebar', 'child-domain' ), | |
'description' => __( 'The sidebar seen on the about page, as opposed to other pages', 'child-domain' ), | |
) ); | |
// Page-Specific Sidebar | |
add_action( 'get_header', 'jdn_change_genesis_sidebar' ); | |
} | |
// Set Page Specific Sidebar | |
function jdn_change_genesis_sidebar() { | |
if ( is_page('about') ) { | |
remove_action( 'genesis_sidebar', 'genesis_do_sidebar' ); | |
add_action( 'genesis_sidebar', 'jdn_do_specifc_sidebar' ); | |
} | |
} | |
// Do Page Specific Sidebar | |
function jdn_do_specifc_sidebar() { | |
if ( is_page('about') && is_active_sidebar( 'about-sidebar' ) ) { | |
dynamic_sidebar( 'about-sidebar' ); | |
} | |
} |
Source: https://gist.github.com/joshuadavidnelson/cfc31e136bb07ab5ef80
Tags: Genesis, Page Template, Sidebar
Like This Site? Buy the WordPress theme and others by StudioPress.