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

Важно! Внесение изменений в файлы шаблонов WooCommerce

Stork.71

Гуру
Местный
И еще вопрос: у Вас платная версия или халявная? Если второе, то она вообще woocommerce не поддерживает!
 

Jacky-boom

Форумчанин
Спасибо, дочерняя тема - идея хорошая.
Качал отсюда (https://ru.wordpress.org/themes/flat-responsive/). Тема таки да, халявная. Но в корне темы есть файл woocommers.php, нормально работает всё, кроме моей этой проблемы.
Если бы я не пытался её сделать под себя, то никогда бы и не узнал про проблему.
 

Stork.71

Гуру
Местный
на сайте темы есть четкая таблица функций, где написано, что поддержка woocommerce только в платной версии.
 

Jacky-boom

Форумчанин
Чтобы там не было написано, я установил тему бесплатно и пользуюсь. Но оказалось, что проблема не в теме, а в том, что в принципе нельзя категории товаров кастомизировать, копируя archive-product.php себе в папку темы. Вот тут страдания англоязычных пользователей по этому поводу https://wordpress.org/support/topic/archive-productphp-template-overwrite-not-working?replies=8 Там даже код приводят, который типа это исправляет.
Если быть кратким - не пытайтесь редактировать archive-product.php. Только время потеряете. Я так 3 часа убил.
Изменения надо вносить в файлы самого плагина и после обновы заново вносить эти же изменения. Другого пути пока нет.
 

searchingman

Гуру
Местный
Чтобы там не было написано, я установил тему бесплатно и пользуюсь. Но оказалось, что проблема не в теме, а в том, что в принципе нельзя категории товаров кастомизировать, копируя archive-product.php себе в папку темы. Вот тут страдания англоязычных пользователей по этому поводу https://wordpress.org/support/topic/archive-productphp-template-overwrite-not-working?replies=8 Там даже код приводят, который типа это исправляет.
Если быть кратким - не пытайтесь редактировать archive-product.php. Только время потеряете. Я так 3 часа убил.
Изменения надо вносить в файлы самого плагина и после обновы заново вносить эти же изменения. Другого пути пока нет.
Инструментов кастомизации, в том числе и для категорий товаров, достаточно (файлы шаблонов в своей теме, хуки).
А вот править исходники плагина неверно.
 

Jacky-boom

Форумчанин
searchingman, да так делать нельзя. Но пришлось. Я же не зря несколько часов потратил на изучение вопроса.
Ну если Вы можете в моей теме изменить - велком.
Спорю на 500 р., что Вы не сможете нормально кастомизировать файл скопированный в папку flat-responsive/woocommerce/archive-product.php. Достаточно просто изучить структуру archive-product.php
Ну конечно минимально что-то поменять можно. Но это не позволит что-то глобально изменить в оформлении рубрики. Как минимум сайдбар будет в футере под контентом. и тут нужны особые пляски с бубном, чтобы его переделать.
Итак я хочу, чтобы сайдбар был справа от контента.
Ну так что? Ставки сделаны?
 

searchingman

Гуру
Местный
searchingman, да так делать нельзя. Но пришлось. Я же не зря несколько часов потратил на изучение вопроса.
Ну если Вы можете в моей теме изменить - велком.
Спорю на 500 р., что Вы не сможете нормально кастомизировать файл скопированный в папку flat-responsive/woocommerce/archive-product.php. Достаточно просто изучить структуру archive-product.php
Ну конечно минимально что-то поменять можно. Но это не позволит что-то глобально изменить в оформлении рубрики. Как минимум сайдбар будет в футере под контентом. и тут нужны особые пляски с бубном, чтобы его переделать.
Итак я хочу, чтобы сайдбар был справа от контента.
Ну так что? Ставки сделаны?

Хорошо, решаем конкретную задачу.
Для темы Flat-responsive нужно на странице категории товаров сайдбар сделать слева от контента (по-умолчанию у меня он справа).
На остальных страницах магазина (каталог + "карточка" товара) оставить сайдбар в старом расположении.


Кроме этого нужно понять почему не работает кастомизация в вышеуказанной теме через шаблоны WooCommerce.
Для этого нужно пойти на первоисточник к официальной документации по адаптации темы Wordpress для WooCommerce.
Note: When creating woocommerce.php in your theme’s folder, you will not be able to override the woocommerce/archive-product.php custom template as woocommerce.php has priority over archive-product.php. This is intended to prevent display issues.

Перевод.
При создании woocommerce.php в папке вашей темы , вы не сможете переопределить WooCommerce/archive-product.php пользовательский шаблон , так как woocommerce.php имеет приоритет над archive-product.php . Это предназначено для предотвращения проблем с отображением.
Есть перевод статьи на этом форуме, но ключевой фразы я не увидел.

В теме Flat-responsive в корне есть woocommerce.php, значит, вывод для плагина нужно смотреть в нем.
Его содержимое.
PHP:
<?php
/**
 * Description: A page template with the right column for WooCommerce
 * @package flat-responsive
 * @since 1.0.0
 */

get_header(); ?>

<section id="fr-content-area" class="fr-contents" role="main">
    <div class="container">
        <div class="row">
            <div class="col-md-9">
                <?php woocommerce_content(); ?>
            </div>
            <div class="col-md-3">
                <?php get_sidebar( 'right' ); ?>
            </div>
        </div>  
    </div>
</section>

<?php get_footer(); ?>
Путем правки файла woocommerce.php на странице категорий товара меняем местами сайдбар и контент.
PHP:
<?php
/**
 * Description: A page template with the right column for WooCommerce
 * @package flat-responsive
 * @since 1.0.0
 */

get_header(); ?>

<?php  
    $is_category = (is_product_category()) ? true : false;
?>
<section id="fr-content-area" class="fr-contents" role="main">
    <div class="container">
        <div class="row">
            <div class="col-md-9<?php echo ($is_category) ? " col-md-push-3" : ""; ?>">
                <?php woocommerce_content(); ?>
            </div>
            <div class="col-md-3<?php echo ($is_category) ? " col-md-pull-9" : ""; ?>">
                <?php get_sidebar( 'right' ); ?>
            </div>
        </div>  
    </div>
</section>

<?php get_footer(); ?>
Как видите, никаких "плясок с бубнами" здесь нет.
 
  • Like
Реакции: D&B

Jacky-boom

Форумчанин
Спасибо за код и потраченное время, но на данный момент сайдбар и так справа. Он "съезжает" если скопировать archive-product.php в папку с темой. Ну т.е. редактировать woocommerce.php нет необходимости
Про то что редактировать archive-product.php нельзя я читал, но пытался проверить.
Почему мне не подходит Ваш метод? Он не позволяет "влезть", например, в заголовок пользовательской такономии. Мне надо к определённым таксономиям дописывать фразу. В таксономиях WP я это делал элементарно:
делаю проверку
if( is_tax( 'vuz' ) )
и добавляю
<h1 class="page-title">Все работы сданные в <?php тут вызываем заголовок; ?></h1>
И как мне это сделать редактированием woocommerce.php????
Моих знаний не хватает.
Опять же хотел реализовать описание разделённое на 2 части типа как тут https://talk.pr-cy.ru/topic/16912-razdelnyj-vyvod-opisaniya-rubrik-wordpress-dlya-seo/
Снова непонятно как тут это сделать. У Sahali правда плагин под это есть за 1000 р.
 
Последнее редактирование:

searchingman

Гуру
Местный
Спасибо за код и потраченное время, но на данный момент сайдбар и так справа. Он "съезжает" если скопировать archive-product.php в папку с темой. Ну т.е. редактировать woocommerce.php нет необходимости
Про то что редактировать archive-product.php нельзя я читал, но пытался проверить.
Почему мне не подходит Ваш метод? Он не позволяет "влезть", например, в заголовок пользовательской такономии. Мне надо к определённым таксономиям дописывать фразу. В таксономиях WP я это делал элементарно:
делаю проверку
if( is_tax( 'vuz' ) )
и добавляю
<h1 class="page-title">Все работы сданные в <?php тут вызываем заголовок; ?></h1>
И как мне это сделать редактированием woocommerce.php????
Моих знаний не хватает.
Опять же хотел реализовать описание разделённое на 2 части типа как тут https://talk.pr-cy.ru/topic/16912-razdelnyj-vyvod-opisaniya-rubrik-wordpress-dlya-seo/
Снова непонятно как тут это сделать. У Sahali правда плагин под это есть за 1000 р.
Если хотите редактировать файлы шаблонов WooCommerce, то удаляйте из темы woocommerce.php .
После этого копируйте шаблоны плагина в свою тему и правьте.
 

Jacky-boom

Форумчанин
А вот про этот способ не знал. Спасибо!
Но ведь везде написано "если хотите чтобы тема поддерживала woocommerce, то скопируйте в папку с темой файл woocommerce.php и т.д. и т.п.". Теперь Вы пишите его надо удалить. Так а как тогда поддержка woocommerce?
 

searchingman

Гуру
Местный
А вот про этот способ не знал. Спасибо!
Но ведь везде написано "если хотите чтобы тема поддерживала woocommerce, то скопируйте в папку с темой файл woocommerce.php и т.д. и т.п.". Теперь Вы пишите его надо удалить. Так а как тогда поддержка woocommerce?
Наличие в теме woocommerce.php - это один из самых простых способов поддержкой темой плагина WooCommerce.
Иначе говоря, если разработчику темы не важна "глубокая" кастомизация свой темы с WooCommerce, то он создает woocommerce.php .
В этом случае вывод для всех страниц плагина (каталог, категория товара, карточка товара и т.д. ) идет через woocommerce.php, т.е их дизайн однотипный.

Если нужна возможность более "глубокой" кастомизации и требуется кастомизировать несколько шаблонов вывода плагина, то файла woocommerce.php в корне темы быть не должно. Для этого в теме создают каталог 'woocommerce', в который копируют нужные шаблоны с сохранением структуры из \wp-content\plugins\woocommerce\templates.
Тогда при работе плагина WooCommerce будет использоваться шаблоны не из папки \wp-content\plugins\woocommerce\templates, но из папки 'woocommerce' своей темы.
Данный механизм нужен для того, чтобы не править файлы плагина и не затереть их при его очередном обновлении.
 

Stork.71

Гуру
Местный
searchingman, да так делать нельзя. Но пришлось. Я же не зря несколько часов потратил на изучение вопроса.
Ну если Вы можете в моей теме изменить - велком.
Спорю на 500 р., что Вы не сможете нормально кастомизировать файл скопированный в папку flat-responsive/woocommerce/archive-product.php. Достаточно просто изучить структуру archive-product.php
Ну конечно минимально что-то поменять можно. Но это не позволит что-то глобально изменить в оформлении рубрики. Как минимум сайдбар будет в футере под контентом. и тут нужны особые пляски с бубном, чтобы его переделать.
Итак я хочу, чтобы сайдбар был справа от контента.
Ну так что? Ставки сделаны?
ставок больше нет? :(
 

gurin77

Новичок
тема MegaShop. вот странно что если из папки тема/woocommerce удалить все файлы, то с языком всё в порядке становится
Добрый день. Подскажите пожалуйста, скачал тоже тему Megashop и на страницах корзина и оплата дублируются таблицы. У Вас было также? Если да, то как исправляли.
 

searchingman

Гуру
Местный
Добрый день. Подскажите пожалуйста, скачал тоже тему Megashop и на страницах корзина и оплата дублируются таблицы. У Вас было также? Если да, то как исправляли.
Тему нужно использовать совместимую с версией WooCommerce. Если не покупали, но нашли на "просторах интернета", то она может быть устаревшей.
 

zloyleva

Новичок
Всем привет. Проблема такая. Оплата в магазе идет через Paypal но не мой а сторонней фирмы. При оплате заказа деньги поступают на счет этой фирмы. Заказ ставится в "On hold", но письма о заказе мне на почту не приходит. Если провести заказ с другой формой оплаты - все норм. Как сделать так чтобы письма о заказах ВСЕГДА приходили продавцу. А то постоянно заглядывать - не удобно СПС
 

todo

Новичок
Всем привет. Проблема такая. Оплата в магазе идет через Paypal но не мой а сторонней фирмы. При оплате заказа деньги поступают на счет этой фирмы. Заказ ставится в "On hold", но письма о заказе мне на почту не приходит. Если провести заказ с другой формой оплаты - все норм. Как сделать так чтобы письма о заказах ВСЕГДА приходили продавцу. А то постоянно заглядывать - не удобно СПС
А когда оплачиваете другой формой, заказ какой статус имеет?
 

todo

Новичок
Попробуйте добавить данный код в файл functions.php в папку с вашей темой. /themes/name-theme

Код:
add_filter( 'woocommerce_payment_complete_order_status', 'wc_skip_processing' );
function wc_skip_processing( $status, $order_id ) {
return 'completed';
}
 

GlowWormy

Форумчанин
Здравствуйте!
Как расположить вкладки (по факту используется только таб "Дополнительная информация") между кратким описанием и добавить в корзину?
Спасибо
 
Сверху Снизу