• ДОБРО ПОЖАЛОВАТЬ В КЛУБ ПО WORDPRESS

    Мы активно растущий клуб по WordPress и нам нужна помощь каждого человека, в том числе и Ваша! Не стесняйтесь и станьте частью большого сообщества.
    Мы делимся новостями, отытом и полезными советами! Пройдите простую регистрацию, чтобы пользоваться всеми возможностями нашего клуба.

    Присоединяйтесь к нам, вам обязательно понравится - Присоединится

Left сайдбар в шаблонах WP

dennis_d

ПРОВЕРЕННЫЙ

dennis_d

ПРОВЕРЕННЫЙ
Сообщения
7
Поиск по форуму результатов не дал, поэтому открываю новую тему! Собственно вопрос в названии темы. Шаблон используется StyleShop (Elegant)+woocommerce, по умолчанию предуcмотрен только правый sidebar. Добавление левого крайне необходимо.

Сделано следующее:

1. Подключен новый элемент в function.php через файл sidebars.php (таким же образом подключен по умолчанию) и правый sidebar.
Название sidebar-4 (Еще два sidebarA отображаются в footerE)Код:
Код:
register_sidebar( array(
    'name' =>'Sidebar-left',
    'id' => 'siebar-4',
    'before_widget' => '<div id="%1$s" class="widget %2$s">',
    'after_widget' => '</div><!--end .widget -->',
    'before_title' => '<h4 class="widget-title">',
    'after_title' => '</h4>',
) );
В админ-панель сайдбар добавился!

2. Для него скопированы стили правого бара
Код:
Код:
#sidebar-4 { float: left; width: 215px; padding: 0 0 0 58px; color: #adadad; }
    #sidebar-4 a { color: #adadad; }
    #sidebar-4 a:hover { color: #111; text-decoration: none; }
    .et-search-form { -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; border: 1px solid #e5e5e5; -moz-box-shadow: inset 0 0 5px rgba(0,0,0,0.1), 0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.1), 0 1px 1px rgba(0, 0, 0, 0.1); box-shadow: inset 0 0 5px rgba(0,0,0,0.1), 0 1px 1px rgba(0, 0, 0, 0.1); margin: 13px 0 56px; position: relative; }
        input.search_input { background: none; border: none;  font-weight: 300; color: #adadad; margin: 0; padding: 14px 7px 14px 20px; width: 65%; }
        .search_submit { top: 16px; right: 16px; position: absolute; }
    .widget { margin-bottom: 45px; }
        .widget > ul { margin-top: 10px; }
    .widget:last-child { margin-bottom: 0; }
        h4.widget-title { font-weight: 800; font-size: 14px; color: #2e2e2e; }
3. Создаю файл sidebar-left.php со следующим кодом:
Код:
<?php if ( is_active_sidebar( 'sidebar-4' ) ){ ?>
    <div id="secondary-widget-area">
        <?php dynamic_sidebar( 'sidebar-4' ); ?>
    </div> <!-- end #sidebar -->
<?php } ?>
4. Подключаю sidebar-left.php к шаблону страниц page.php , index.php (для проверки, потому что на главной странице не предусмотрены sidebarЫ) и прочих с помощью кода:
Код:
<?php get_sidebar('left'); ?>
Левый блок не выводится!
Причем!
1. Удаляя запись
Код:
<?php get_sidebar(); ?>
из шаблона страниц, которая была прописана по умолчанию, правый бар продолжает отображаться!
2. Левый бар отображается только если код подключения добавлять в файл sidebar.php. Отображается под контентом основной области страницы. (Пробовал ради проверки)
Скорее всего, подключение производится не в том файле, где нужно.
Помогит, пожалуйста, разобраться!
 
Последнее редактирование:

Попай

АДМИНИСТРАТОР

Попай

АДМИНИСТРАТОР
Сообщения
3,247
Конечно не будет работать ты всё тут напутал. Самая главная ошибка, новый сайбар зарегистрирован под sidebar-4, а такой уже есть в самой теме.

Сделай так:
1. Измени в function.php на новый сайдбар:
PHP:
register_sidebar( array(

    'name' =>'Sidebar-left',
    'id' => 'siebar-left',
    'before_widget' => '<div id="%1$s" class="widget %2$s">',
    'after_widget' => '</div><!--end .widget -->',
    'before_title' => '<h4 class="widget-title">',
    'after_title' => '</h4>',
) );
2. В файле sidebar-left.php пропиши так
PHP:
<?php if ( is_active_sidebar( 'siebar-left' ) ){ ?>
    <div id="secondary-widget-area">
        <?php dynamic_sidebar( 'siebar-left' ); ?>
    </div> <!-- end #sidebar -->
<?php } ?>
3. Сначала проверь в полной записи single.php и в нужном месте пропиши :
PHP:
<?php get_sidebar('left'); ?>
 

dennis_d

ПРОВЕРЕННЫЙ

dennis_d

ПРОВЕРЕННЫЙ
Сообщения
7
Спасибо, работает! Но есть новая проблема))) need help again)))

На страницах woocommerce добавленные виджеты в новый сайдбар, неактивны)) На прочих страницах сайта работают
 
Последнее редактирование:

Попай

АДМИНИСТРАТОР

Попай

АДМИНИСТРАТОР
Сообщения
3,247
Обычно магазин выводится через отдельно созданную страницу, которая находится в соответствующем разделе. И надо смотреть какой шаблон выбран для этой страницы и подключен в нем сайдбар или нет.
 

dennis_d

ПРОВЕРЕННЫЙ

dennis_d

ПРОВЕРЕННЫЙ
Сообщения
7
Сайдбар подключен и отображается, но добавленные в него виджеты неактивны. На страницах сайта они работают, а вот на страницах магазина нет. Например, виджет поиска отображен, но ввести в него данные для поиска невозможно
 

Попай

АДМИНИСТРАТОР

Попай

АДМИНИСТРАТОР
Сообщения
3,247
Не сталкивался с таким. По идее должно работать. Возможно криво работает шаблон. Посмотри не наезжают там какие-нибудь div блоки или другие.
 

dennis_d

ПРОВЕРЕННЫЙ

dennis_d

ПРОВЕРЕННЫЙ
Сообщения
7
Не сталкивался с таким. По идее должно работать. Возможно криво работает шаблон. Посмотри не наезжают там какие-нибудь div блоки или другие.
В точку! сайдбар располагается под блоком основного контента. Работаю с файлом archive-product.php
Если подключаю здесь (строка 25):
Код:
<?php
/**
* The Template for displaying product archives, including the main shop page which is a post type archive
*
* This template can be overridden by copying it to yourtheme/woocommerce/archive-product.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you (the theme developer).
* will need to copy the new files to your theme to maintain compatibility. We try to do this.
* as little as possible, but it does happen. When this occurs the version of the template file will.
* be bumped and the readme will list any important changes.
*
* @see         http://docs.woothemes.com/document/template-structure/
* @author         WooThemes
* @package     WooCommerce/Templates
* @version     2.0.0
*/

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly
}

get_header( 'shop' );

?>
<?php get_sidebar('left');?>
    <?php
        /**
         * woocommerce_before_main_content hook.
         *
         * @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)
         * @hooked woocommerce_breadcrumb - 20
         */
        do_action( 'woocommerce_before_main_content' );
   ?>

    <?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>

            <h1 class="page-title"><?php woocommerce_page_title(); ?></h1>

        <?php endif; ?>
бар выводится вне блока content-area. Вставка кода в любом другом месте приводит к отображения бара в футере или в области вывода товаров
Решил вывести бар, откорректировав function.php:
Код:
function et_styleshop_output_content_wrapper() {
    echo '
        <div id="content-area" class="clearfix">
            <div id="secondary-widget-area"></div>
            <div id="main-area">';
}
Добавил строку <div id="secondary-widget-area"></div>. Блок выводится в нужном месте, но теперь проблема вывести в него сайдбар)) php под echo, работать не хочет. Как быть?))
 

Попай

АДМИНИСТРАТОР

Попай

АДМИНИСТРАТОР
Сообщения
3,247
:) В php не очень силён, так что-то где-то подправить или по аналогии сделать. И не пойму почему правки не сделать сразу в файле archive-product.php?
 
Последнее редактирование:

dennis_d

ПРОВЕРЕННЫЙ

dennis_d

ПРОВЕРЕННЫЙ
Сообщения
7
Разобрался!!!! Вместо функции открытия div-ов, открыл их с помощью тегов, вручную))
 

dennis_d

ПРОВЕРЕННЫЙ

dennis_d

ПРОВЕРЕННЫЙ
Сообщения
7
В магазине одежды и нижнего белья, необходимо выводить разные таблицы размеров для товаров разных производителей и категорий. Есть ли универсальное решение, как реализовать данный функционал?

Вопрос снят, как дурацкий!))
 
Последнее редактирование:

Mvuser

СВОЙ МОДЕРАТОР

Mvuser

СВОЙ МОДЕРАТОР
Сообщения
2,349
dennis_d, для таких вопросов надо создавать отдельную тему. А так встречал какие-то таблицы в продуктах для woocommerce
 
Сверху