• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь как добиться управления 2 сайдбарами через функцию?

gordy

Мастер
Регистрация
25 Авг 2015
Сообщения
228
Реакции
32
есть функция для одного сайдбара, она задает (только левый сайдбар, только правый, без сайдбара), мне нужно её заточить под 2 сайдбара одновременно, подскажите как правильно это сделать

PHP:
function tie_get_registered_sidebars(){
    global $wp_registered_sidebars;

    $sidebars      = array( '' => esc_html__( 'Default', TIELABS_TEXTDOMAIN ) );
    $sidebars_list = $wp_registered_sidebars;

    $custom_sidebars = tie_get_option( 'sidebars' );
    if( ! empty( $custom_sidebars ) && is_array( $custom_sidebars )){
        foreach ( $custom_sidebars as $sidebar ){

            // Remove sanitized custom sidebars titles from the sidebars array.
            $sanitized_sidebar = sanitize_title( $sidebar );
            unset( $sidebars_list[ $sanitized_sidebar ] );

            // Add the Unsanitized custom sidebars titles to the array.
            $sidebars_list[ $sidebar ] = array( 'name' => $sidebar );
        }
    }


    if( ! empty( $sidebars_list ) && is_array( $sidebars_list )){
        foreach( $sidebars_list as $name => $sidebar ){
            $sidebars[ $name ] = $sidebar['name'];
        }
    }

    return $sidebars;
}

так она зарегистрирована

PHP:
register_sidebar( array(
        'id'            => 'primary-widget-area',
        'name'          => esc_html__( 'Primary Widget Area', TIELABS_TEXTDOMAIN ),
        'before_widget' => $before_widget,
        'after_widget'  => $after_widget,
        'before_title'  => $before_title,
        'after_title'   => $after_title,
    ));

так она передается в sidebar.php


PHP:
defined( 'ABSPATH' ) || exit; // Exit if accessed directly

# Returen if the current page is full width or one column
if( ! TIELABS_HELPER::has_sidebar() ) return;

# Check if the sidebars is hidden on mobiles
if( TIELABS_HELPER::is_mobile_and_hidden( 'sidebars' )) return;

# Sticky Sidebar
$is_sticky = tie_get_option( 'sticky_sidebar' ) ? true : false;

# Home Page
if ( is_home() || is_front_page() ){
    $sidebar = tie_get_option( 'sidebar_home' );
}
# BuddyPress
elseif( TIELABS_BUDDYPRESS_IS_ACTIVE && is_buddypress() ){
    $sidebar   = TIELABS_BUDDYPRESS::get_page_data( 'tie_sidebar_post' );
    $is_sticky = TIELABS_BUDDYPRESS::get_page_data( 'tie_sticky_sidebar' ) ? TIELABS_BUDDYPRESS::get_page_data( 'tie_sticky_sidebar' ) : $is_sticky;
}
# bbPress
elseif ( TIELABS_BBPRESS_IS_ACTIVE && is_bbpress() ){
    $sidebar = tie_get_option( 'sidebar_bbpress' );
}
# Pages
elseif( is_page() ){
    $sidebar   = tie_get_object_option( 'sidebar_page', '', 'tie_sidebar_post' );
    $is_sticky = tie_get_object_option( 'sticky_sidebar', '', 'tie_sticky_sidebar' );
}
# Posts
elseif ( is_single() ){
    $sidebar   = tie_get_object_option( 'sidebar_post', 'cat_sidebar', 'tie_sidebar_post' );
    $is_sticky = tie_get_object_option( 'sticky_sidebar', 'cat_sticky_sidebar', 'tie_sticky_sidebar' );
}
# Categories
elseif ( is_category() ){
    $sidebar   = tie_get_object_option( 'sidebar_archive', 'cat_sidebar', '' );
    $is_sticky = tie_get_object_option( 'sticky_sidebar', 'cat_sticky_sidebar', '' );
}
# All Archives
else{
    $sidebar = tie_get_option( 'sidebar_archive' );
}

# Default sidebar if there is no a custom sidebar
if( empty( $sidebar ) || ( ! empty( $sidebar ) && ! TIELABS_HELPER::is_sidebar_registered( $sidebar ) )){
     $sidebar = 'primary-widget-area';
}

# Show the sidebar if contains Widgets
if( is_active_sidebar( $sidebar ) ){

        $sidebar_class = 'sidebar tie-col-md-3 tie-col-xs-12 normal-side';

        if( $is_sticky && $is_sticky !== "no" ){
            $sidebar_class .= ' is-sticky';
        }
    ?>

    <aside class="<?php echo esc_attr( $sidebar_class ) ?>" aria-label="<?php esc_html_e( 'Primary Sidebar', TIELABS_TEXTDOMAIN ); ?>">
        <div class="theiaStickySidebar">
            <?php dynamic_sidebar( sanitize_title( $sidebar ) ); ?>
        </div><!-- .theiaStickySidebar /-->
    </aside><!-- .sidebar /-->
    <?php
}

и вот css
HTML:
.sidebar-right .main-content {
  float: left;
}

.sidebar-right .sidebar {
  float: right;
}

.sidebar-left .main-content {
  float: right;
}

.sidebar-left .sidebar {
  float: left;
}

.full-width .main-content {
  width: 100%;
}

.one-column-no-sidebar .main-content {
  margin-right: auto;
  margin-left: auto;
  float: none;
}
 
Назад
Сверху