Поддержка WooCommerce Удалить сайдбар со страницы товара (WP 5.0.2 + Storefront)

  • Решено mvlepina

    (@mvlepina)



    Здравствуйте! Нужно удалить сайдбар из шаблона карточки товаров.
    Из шаблона страниц, записей и пр. удалила без проблем (убрала do_action( ‘woocommerce_sidebar’ ) и установив <div class=»block»>).

    Чтобы удалить сайдбар из карточек товаров, удаляю do_action( ‘woocommerce_sidebar’ ) из wp-content/plugins/woocommerce/templates/single-product.php, но сайдбар остаётся на месте.

    Подскажите, пожалуйста! Заранее благодарю!

    • Тема изменена 1 неделя, 4 дн. назад пользователем  Yui. Причина: в раздел woocommerce

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 15 ответов — с 1 по 15 (всего 18)
  • Модератор SeVlad

    (@sevlad)

    wp.me/3YHjQ

    удаляю do_action( ‘woocommerce_sidebar’ ) из wp-content/plugins/woocommerce/templates/single-product.php,

    Никогда не трогайте плагины!
    Все изменения делаются в шаблонах темы (дочерней, чтобы не потерять изменения)

    Спасибо, учту на будущее. На всякий случай всегда делаю копию перед внесением изменений.

    Остальные удаления сайдбара делала в теме. Но каких-либо признаков редактирования шаблона именно карточки товара в ней не могу найти. И по логике вещей, шаблон карточки товара принадлежит именно плагину Woocommerce, а не теме.

    Думаю, если шаблон карточки товара принадлежит плагину, то выключить сайдбар в карточке товара можно через функции темы Storefront. Но я, к сожалению, ни капли не программист и не могу это написать.

    • Ответ изменён 1 неделя, 4 дн. назад пользователем  mvlepina.

    http://prntscr.com/m3irhn

    Сделал только что. вот примерно что вышло. Самый простой способ для вас будет. Это зайти в шаблон товара. и в самом шаблоне сделать так. Не знаю, как это сделать более правильно, так как woocommerce только учу. но знаю, что так работать будет.

    <style>
    .left-sidebar .widget-area {
        display: none;
    }
    .content-area {
        width: 100% !important;
    }
    </style>

    @virusook

    Спасибо! Но… так оно не работает) выдает ошибку и валит сайт 🙁

    @virusook

    Но я думаю, такой способ будет работать не в шаблоне, а в доп.стилях css:
    https://prnt.sc/m3iy6y

    Вот только как его прописать, чтобы выключать сайдбар именно в шаблоне товара, а не по всему сайту?

    Возможно, действительно допустила ошибку, т.к. абсолютно далека от программирования.

    Вставляла в single-product.php

    <?php

    Ваш код

    ?>

    • Ответ изменён 1 неделя, 3 дн. назад пользователем  Yui. Причина: контакты на форуме оставлять не нужно

    не нужно стили вставлять в php код. Стили вставляются в саму структуру верстки.
    например вот так

    <style>
    .left-sidebar .widget-area {
        display: none;
    }
    .content-area {
        width: 100% !important;
    }
    </style>
    <div class="content">
      <h2>Hey There!</h2>
      <p>A wonderful serenity has taken possession of my entire soul, like these sweet 
      mornings of spring which I enjoy with my whole heart.</p>
      <a href="#" class="info">Read More</a>
    </div>

    Попробуйте. если не выйдет.

    • Ответ изменён 1 неделя, 3 дн. назад пользователем  Yui. Причина: п 16

    Встретились два одиночества…..
    Надеюсь вы понимаете, что все эти ваши правки ровно до первого обновления?

    Тут ведь форум — вопрос ответ, а не давайте пообщаемся) Я предложил человеку решение его проблемы тем способом, что знаю я, если у вас есть более правильный вариант, пожалуйста, выкладывайте.
    PS обновления… Я их отключаю 😀

    Модератор Yui

    (@fierevere)

    🍊🍊🍊

    Если хотите, оставьте мне ваши контакты, я могу зайти и сделать вам

    @virusook , не нарушайте правил форумов wordpress.org пожалуйста, контакты/информацию для входа на сайт, в панели хостинга итп итд оставлять и спрашивать нельзя

    PS обновления… Я их отключаю

    и не надо рекомендовать другим «пить из лужицы» тоже

    PS обновления… Я их отключаю 😀

    Ну не надо учить других плохому

    если у вас есть более правильный вариант

    1. Подобрать тему, которая полностью удовлетворяет вашим запросом по верстки и кастомизации.
    2. Скопировать нужный шаблон в дочернюю тему (причем в самом файле прям так буржуйским по белому и написано Override this template by copying it to yourtheme/woocommerce/single-product.php) и там над ним изгаляться
    3. С помощью css подогнать под нужную верстку. НО не в файле шаблона, а в доп. стилях или style.css дочерней темы. Пример:

    body.single-product .widget-area {
        display: none;
    }
    body.single-product  .content-area {
        width: 100% !important;
    }

    где body.single-product какраз и отвечает что правило будет применяться только в карточке товара.

    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, wpcute.ru

    а в доп. стилях

    На всякий случай дополню, что это в разделе Внешний вид -> Настроить -> Дополнительные стили.

    @tuxfighter большое спасибо за исчёрпывающий ответ! Это как раз то, что мне было нужно.
    Понимала, что требуются эти 2 действия, но писать css сама не умею.
    @denisco спасибо за дополнение, об этом знаю.

    ну вообще то там три разных пути для достижения одного и того же.

    @tuxfighter могу попробовать предположить, что 2 и 3 — через правку шаблона и через функции.
    но скрыть сайдбар / растянуть содержимое через css, по вашему совету, для меня точно проще 🙂

Просмотр 15 ответов — с 1 по 15 (всего 18)