sidebars = array(
'page' => esc_html__( 'Main Widget Area', 'vamtam-consulting' ),
);
if ( vamtam_has_woocommerce() )
$this->sidebars['vamtam-woocommerce'] = esc_html__( 'WooCommerce Widget Area', 'vamtam-consulting' );
$this->places = array( 'left', 'right' );
}
/**
* Get singleton instance
* @return VamtamSidebars singleton instance
*/
public static function get_instance() {
if ( ! isset( self::$instance ) )
self::$instance = new self();
return self::$instance;
}
/**
* Register sidebars
*/
public function register_sidebars() {
unregister_sidebar( 'sidebar-event' );
foreach ( $this->sidebars as $id => $name ) {
foreach ( $this->places as $place ) {
register_sidebar( array(
'id' => $id . '-' . $place,
'name' => $name . " ( $place )",
'description' => $name . " ( $place )",
'before_widget' => '',
) );
}
}
register_sidebar( array(
'id' => 'overlay-menu-sidebar',
'name' => __( 'Overlay Menu Widget Area', 'vamtam-consulting' ),
'description' => __( 'Displayed below the menu items in the overlay menu.', 'vamtam-consulting' ),
'before_widget' => '',
) );
}
private function get_sidebar_name( $place = 'left' ) {
global $post;
if ( vamtam_has_woocommerce() && is_woocommerce() ) {
$sidebar = 'vamtam-woocommerce';
}
if ( isset( $sidebar ) ) {
return $sidebar . '-' . $place;
}
return 'page-' . $place;
}
/**
* Output the correct sidebar
*
* @uses dynamic_sidebar()
*
* @param string $place one of $this->placements
* @return bool result of dynamic_sidebar()
*/
public function get_sidebar( $place = 'left' ) {
$name = $this->get_sidebar_name( $place );
dynamic_sidebar( $name );
}
/**
* Check if we should show a sidebar
*
* @uses is_active_sidebar()
*
* @param string $place one of $this->placements
* @return bool result of dynamic_sidebar()
*/
public function has_sidebar( $place = 'left' ) {
$name = $this->get_sidebar_name( $place );
return is_active_sidebar( $name );
}
};