Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Удаление сайдбара со страницы магазина

Тема в разделе "Вопросы, советы и доработки.", создана пользователем YaSerg, 17 июн 2014.

  1. YaSerg

    YaSerg

    Сообщения:
    107
    Симпатии:
    5
    Баллы:
    18
    Версия WC: 2.1.11
    Версия WP: 3.9.1
    Тема Wootique 1.6.8
    Имеется стандартный файл страницы магазина woocommerce/archive-product.php

    Что бы удалить сайд бар я удаляю две строки снизу и сверху кода
    do_action( 'woocommerce_before_main_content' );
    do_action( 'woocommerce_after_main_content' );

    Как я понял из документации эти строки грузят wrapper-start.php и wrapper-end.php (где лежит сама функция разыскать не могу.

    Поэтому корректирую вручную добавляя в начало
    <div id="content" class="page col-full" style="background: none !important;">
    <div id="main" class="fullwidth">

    И соответсвенно в конец два закрывающих div'a
    </div></div>

    Таким образом цель убрать сайдбар достигнута, но случается незадача пропадает список страниц (1, 2, 3) внизу списка (цикла) товаров, а так же "хлебные крошки" ввеху обложки (что совершенно не критично).

    Из чего можно сделать вывод что функции
    do_action( 'woocommerce_before_main_content' ); и do_action( 'woocommerce_after_main_content' ); грузят немного больше чем wrapper-start.php и wrapper-end.php.
     
  2. rikitiki

    rikitiki Местный

    Сообщения:
    750
    Симпатии:
    185
    Баллы:
    43
    • Нравится Нравится x 1
  3. YaSerg

    YaSerg

    Сообщения:
    107
    Симпатии:
    5
    Баллы:
    18
    Хочется уже разобраться, что бы в будущем иметь больше возможностей.
     
  4. rikitiki

    rikitiki Местный

    Сообщения:
    750
    Симпатии:
    185
    Баллы:
    43
    У вас в page.php (страница) и single.php (запись) есть
    <!—?php get_sidebar(); ?—>
    Убираете и не будет у вас никаких сайдбаров.
    Просто для наличия больших возможностей лучше создать дополнительные индивидуальные шаблоны.
     
    • Нравится Нравится x 1
  5. YaSerg

    YaSerg

    Сообщения:
    107
    Симпатии:
    5
    Баллы:
    18
    Ну сделал по вашему, ничего не поменялось, вопросы те же.
     
  6. ADv

    ADv Местный

    Сообщения:
    430
    Симпатии:
    110
    Баллы:
    43
    Потому как это применимо к блогу и страницам, а не к магазину.
    В стандартном template woocommerce достаточно вытереть
    Код:
        <?php
            /**
             * woocommerce_sidebar hook
             *
             * @hooked woocommerce_get_sidebar - 10
             */
            do_action('woocommerce_sidebar');
        ?>
    в archive-product.php

    Еще вариант:

    Код:
    /**
    * WooCommerce
    *
    * Unhook sidebar
    */
    remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10);
    в functions.php

    Еще вариант:
    Код:
    .woocommerce #sidebar{display:none}
    
    При необходимости
    Код:
    #content-woocommerce {
    width: 100%;
    }
    
     
    Последнее редактирование: 18 июн 2014
  7. YaSerg

    YaSerg

    Сообщения:
    107
    Симпатии:
    5
    Баллы:
    18
    Дружище, это обсуждали не раз как нерабочий вариант на теме Wootique, в первом посте это указано.
     
  8. ADv

    ADv Местный

    Сообщения:
    430
    Симпатии:
    110
    Баллы:
    43
    Ни разу не указано. Речь шла о других хуках.
     
  9. YaSerg

    YaSerg

    Сообщения:
    107
    Симпатии:
    5
    Баллы:
    18
    Будьте внимательнее: "Тема Wootique 1.6.8" - третья строка моего первого сообщения, в нём как раз и вопрос (то о чём речь).
     
  10. rikitiki

    rikitiki Местный

    Сообщения:
    750
    Симпатии:
    185
    Баллы:
    43
    А как убрать сайдбар только в карточках товаров не затрагивая категории(витрины)? Что следует прописать в functions,php темы?
     
  11. rikitiki

    rikitiki Местный

    Сообщения:
    750
    Симпатии:
    185
    Баллы:
    43
    Актуально! Тестовый магазин http://nina.besaba.com/shop/ с шестью (!) фиксированными по ширине колонками в витринах и одним сайдбаром слева, если смотреть на широкоформатном мониторе с шириной более 1400px. Весьма эффектно смотрится на таких мониторах, которые нынче в подавляющем большинстве у пользователей. На квадратных экранах колонок 5 и ниже. Максимальная ширина темы 1400px.
    Однако колонка контента на остальных страницах получается сильно растянутой - 1150px по ширине. На других страницах она такой широкой не нужна и смотрится плохо.
    Единственный выход - сделать два сайдбара по бокам от контента (тема позволяет это), оставив один слева только для витрин. Иначе шести колонок в витринах не получится. Если принять ширину сайдбаров по 250px то 1400px=250+900+250. Максимальная ширина 900px для контента приемлема.
    Пояснение - сайдбары фиксированы по ширине, ширина контента плавающая. По мере уменьшения ширины экрана сначала уходит вниз правый сайдбар, а затем левый.
    Но как убрать один сайдбар справа, тот что в витринах, оставив два для остальных страниц? Вот в чём вопрос?
     
  12. ADv

    ADv Местный

    Сообщения:
    430
    Симпатии:
    110
    Баллы:
    43
    прописать условия его отображения? if is_page ....
     
    • Нравится Нравится x 1
  13. rikitiki

    rikitiki Местный

    Сообщения:
    750
    Симпатии:
    185
    Баллы:
    43
    Спасибо за помощь получилось
    Прописал рекомендуемое вами условие и сайдбары в витринах исчезли, а в карточках ь и на остальных страницах остались
    Однако удалились оба сайдбара, а мне нужно чтобы только один справа.
    Да ещё по бокам пустые поля остаются от паддингов, которые в css создаются, чтобы туда сайдбары задвинуть.
     
    Последнее редактирование: 9 май 2015
  14. rikitiki

    rikitiki Местный

    Сообщения:
    750
    Симпатии:
    185
    Баллы:
    43
    Есть похожая под мои запросы широкоформатная платная тема:
    http://sell.wpengine.com/product-category/women/
    Но она тоже без левого сайдбара в витрине.
    Если судить по http://mywordpress.ru/support/viewtopic.php?id=34461
    ребята видимо тоже не осилили его вставку. :)
    Тема похоже вообще без max-width и на широкоформатном мониторе блог смотрится дико:
    http://sell.wpengine.com/uncategorized/standard-post-with-featured-image/
    На мой взляд максимальная ширина 1400px для сайта оптимальна, так 1380px это ширина экрана дешёвого ноутбука.
    --------
    Сейчас пытаюсь создать третий сайдбар, с тем же наполнением виджетами, который бы маячил слева только в витрине.