mirror of
https://github.com/10h30/genesis-simple-sidebars.git
synced 2026-06-05 15:08:34 +09:00
Add header widget area support. fixes #7.
This commit is contained in:
@@ -65,6 +65,15 @@ class Genesis_Simple_Sidebars_Core {
|
||||
*/
|
||||
public function swap_sidebars() {
|
||||
|
||||
// Header
|
||||
if ( is_registered_sidebar( 'header-right' ) ) {
|
||||
global $wp_registered_sidebars;
|
||||
$wp_registered_sidebars['ss-header-right-temp'] = $wp_registered_sidebars['header-right'];
|
||||
unset( $wp_registered_sidebars['header-right'] );
|
||||
add_action( 'genesis_header_right', array( $this, 'do_header_right' ) );
|
||||
}
|
||||
|
||||
// Sidebars
|
||||
remove_action( 'genesis_sidebar', 'genesis_do_sidebar' );
|
||||
remove_action( 'genesis_sidebar_alt', 'genesis_do_sidebar_alt' );
|
||||
add_action( 'genesis_sidebar', array( $this, 'do_primary_sidebar' ) );
|
||||
@@ -72,6 +81,23 @@ class Genesis_Simple_Sidebars_Core {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Output custom header widget area, if one is set. Otherwise output default.
|
||||
*
|
||||
* @since 2.1.0
|
||||
*/
|
||||
public function do_header_right() {
|
||||
|
||||
global $wp_registered_sidebars;
|
||||
|
||||
if ( ! $this->do_sidebar( '_ss_header' ) ) {
|
||||
$wp_registered_sidebars['header-right'] = $wp_registered_sidebars['ss-header-right-temp'];
|
||||
}
|
||||
|
||||
unset( $wp_registered_sidebars['ss-header-right-temp'] );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Output custom primary sidebar, if one is set. Otherwise output default.
|
||||
*
|
||||
|
||||
@@ -51,6 +51,7 @@ class Genesis_Simple_Sidebars_Entry {
|
||||
}
|
||||
|
||||
$data = wp_parse_args( $_POST['genesis_simple_sidebars'], array(
|
||||
'_ss_header' => '',
|
||||
'_ss_sidebar' => '',
|
||||
'_ss_sidebar_alt' => '',
|
||||
) );
|
||||
|
||||
@@ -3,7 +3,21 @@ $sidebars = Genesis_Simple_Sidebars()->core->get_sidebars();
|
||||
global $wp_registered_sidebars;
|
||||
wp_nonce_field( 'genesis-simple-sidebars-save-entry', 'genesis-simple-sidebars-save-entry-nonce' );
|
||||
|
||||
if ( isset( $wp_registered_sidebars['sidebar'] ) ) : ?>
|
||||
if ( is_registered_sidebar( 'header-right' ) ) : ?>
|
||||
<p>
|
||||
<label class="howto" for="genesis_simple_sidebars[_ss_header]"><span><?php echo esc_attr( $wp_registered_sidebars['header-right']['name'] ); ?><span></label>
|
||||
<select name="genesis_simple_sidebars[_ss_header]" id="genesis_simple_sidebars[_ss_header]" style="width: 99%">
|
||||
<option value=""><?php _e( 'Default', 'genesis-simple-sidebars' ); ?></option>
|
||||
<?php
|
||||
foreach ( (array) $sidebars as $id => $info ) {
|
||||
printf( '<option value="%s" %s>%s</option>', esc_html( $id ), selected( $id, genesis_get_custom_field( '_ss_header' ), false), esc_html( $info['name'] ) );
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</p>
|
||||
<?php endif;
|
||||
|
||||
if ( is_registered_sidebar( 'sidebar' ) ) : ?>
|
||||
<p>
|
||||
<label class="howto" for="genesis_simple_sidebars[_ss_sidebar]"><span><?php echo esc_attr( $wp_registered_sidebars['sidebar']['name'] ); ?><span></label>
|
||||
<select name="genesis_simple_sidebars[_ss_sidebar]" id="genesis_simple_sidebars[_ss_sidebar]" style="width: 99%">
|
||||
@@ -17,7 +31,7 @@ if ( isset( $wp_registered_sidebars['sidebar'] ) ) : ?>
|
||||
</p>
|
||||
<?php endif;
|
||||
|
||||
if( isset( $wp_registered_sidebars['sidebar-alt'] ) ) : ?>
|
||||
if ( is_registered_sidebar( 'sidebar-alt' ) ) : ?>
|
||||
<p>
|
||||
<label class="howto" for="genesis_simple_sidebars[_ss_sidebar_alt]"><span><?php echo esc_attr( $wp_registered_sidebars['sidebar-alt']['name'] ); ?><span></label>
|
||||
<select name="genesis_simple_sidebars[_ss_sidebar_alt]" id="genesis_simple_sidebars[_ss_sidebar_alt]" style="width: 99%">
|
||||
|
||||
@@ -3,6 +3,22 @@
|
||||
<h3><?php _e( 'Sidebar Options', 'genesis-simple-sidebars' ); ?></h3>
|
||||
<table class="form-table">
|
||||
|
||||
<?php if ( is_registered_sidebar( 'header-right' ) ) : ?>
|
||||
<tr class="form-field">
|
||||
<th scope="row" valign="top"><label for="genesis-meta[_ss_header]"><?php _e( 'Header Right', 'genesis-simple-sidebars' ); ?></label></th>
|
||||
<td>
|
||||
<select name="genesis-meta[_ss_header]" id="genesis-meta[_ss_header]" style="padding-right: 10px;">
|
||||
<option value=""><?php _e( 'Default', 'genesis-simple-sidebars' ); ?></option>
|
||||
<?php
|
||||
foreach ( (array) $sidebars as $id => $info ) {
|
||||
printf( '<option value="%s" %s>%s</option>', esc_html( $id ), selected( $id, get_term_meta( $tag->term_id, '_ss_header', true ), false), esc_html( $info['name'] ) );
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
|
||||
<tr class="form-field">
|
||||
<th scope="row" valign="top"><label for="genesis-meta[_ss_sidebar]"><?php _e( 'Primary Sidebar', 'genesis-simple-sidebars' ); ?></label></th>
|
||||
<td>
|
||||
|
||||
Reference in New Issue
Block a user