- archive-product.php Override not working #3668
- Comments
- anteksiler commented Aug 22, 2013
- mikejolley commented Aug 23, 2013
- cwiggan commented Aug 27, 2013
- cwiggan commented Aug 27, 2013
- jopacicdev commented Aug 29, 2013
- JuusoPalander commented Sep 10, 2013
- miniMAC commented Oct 18, 2013
- yojance commented Oct 18, 2013
- cwiggan commented Oct 18, 2013
- miniMAC commented Oct 22, 2013
- cwiggan commented Oct 22, 2013
- how to override woocommerce specific loop or archive-product.php [closed]
- 1 Answer 1
- WooCommerce Product настроить внешний вид архива товаров
- Как изменять WooCommerce. Эпизод #3. Страница архивов
- Sharing is caring
- Понравилось это:
- Похожее
- 83 комментария к “Как изменять WooCommerce. Эпизод #3. Страница архивов”
archive-product.php Override not working #3668
Comments
anteksiler commented Aug 22, 2013
I am trying to integrate WooCommerce with my theme. I copied contents of the templates directory to mytheme/woocommerce/.
Other files are working, but archive-product.php does not. It always uses the plugin default template. Any idea?
The text was updated successfully, but these errors were encountered:
mikejolley commented Aug 23, 2013
Just a note, only override what you need to change. Moving all templates across isn’t a good idea.
cwiggan commented Aug 27, 2013
it does not work for me either, no matter what changes I make to archive-product.php it remains the same.
cwiggan commented Aug 27, 2013
does it have something to do with woocommerce_content() ?
jopacicdev commented Aug 29, 2013
I’m also experiencing this issue, I have tried all kinds of things, commenting out some actions as proposed here — but still nothing.
I have only 1 file in woocommerce directory in my theme, and that is archive-product.php .
JuusoPalander commented Sep 10, 2013
I’ve got the same problem. Anyone found a solution yet? I’m running Genesis Theme Framework with Genesis Connect -plugin.
It’s weird, because it works for my shop page, but not for any other archive page.
miniMAC commented Oct 18, 2013
Same here, archive not override.
yojance commented Oct 18, 2013
Have you tried moving archive-product.php to the main theme folder instead of having it under the /woocommerce/ folder?
cwiggan commented Oct 18, 2013
do you have a page call woocommerce.php in your theme folder?
miniMAC commented Oct 22, 2013
I have a page called woocommerce.php . No @yojance because i follow the official guide to override file templates: http://docs.woothemes.com/document/template-structure/
cwiggan commented Oct 22, 2013
Delete it and it will work. When you use that method the archive product template is not being use instead there is a function that’s being called.
Sent from my iPhone
On Oct 22, 2013, at 1:11 AM, Christian notifications@github.com wrote:
I have a page called woocommerce.php. No @yojance because i follow the official guide to override file templates: http://docs.woothemes.com/document/template-structure/
—
Reply to this email directly or view it on GitHub.
Источник
how to override woocommerce specific loop or archive-product.php [closed]
Want to improve this question? Update the question so it’s on-topic for WordPress Development Stack Exchange.
Closed 3 years ago .
so far while my woocommerce theme loop through all products in shop page i’m trying to customise and add few bootstrap classes to style it in a prober way since default styles generated causes layout issues. after investigating the page i discover out that this was in the heart of the loop:
don’t know what that is thought it would look like regular html and css classes i can edit it instead but i’m still thinking it might be hiding somewhere but don’t know where to find it.
i’m stuck since yesterday on how to edit the html elements i’m still beginner in theme development so please help me or at least advice. this is full archive-product.php which is as follow:
1 Answer 1
The WooCommerce templating works in different ways depending on your needs and/or skills.
It is important to know that this is the same as php require but without using .php extension at the end.
Before you do any of the steps mentioned below, make sure your theme supports WooCommerce by looking in the functions.php for this line of code:
In order to use your own design/template you have different options:
Create a «woocommerce.php» in your theme folder
This file will have the highest priority in terms of which file will be used by WordPress in your theme. Delete this file if you want to use the second method.
Create a «woocommerce» folder and copy the template which you want to modify into this folder.
WooCommerce/WordPress will recognize it and use the templates provided in this folder. This method is called «template overwriting» and allows you to insert and modify parts of the WooCommerce frontend output into your theme. This is the more advanced way of WC customization, maybe a challenge for you but for sure the more professional way of doing it.
In this case you are propably looking for this file:
That is the template file which displays the shop’s main product overview. After creating the folder name and copying the file into it, you can create your own markup for this layout.
In the end, your new file might look like this:
I hope this gives you an understanding of how it works. You can also have a look at the WC backend system page at the bottom. There it will display for you which templates WC uses.
Источник
WooCommerce Product настроить внешний вид архива товаров
Продолжаем разбирать самые интересные и полезные плагины для интернет-магазина woocommerce. Сегодня вы узнаете как настроить внешний вид страницы товаров woocommerce. То есть страницы на которой отображается список всех товаров, архив товаров, начиная с главной страницы. Вы сможете указать сколько должно быть колонок на странице, сколько должно отображаться товаров. Можно будет скрыть некоторые элементы со странице, например, цены, рейтинг, изображения, кнопка Добавить в корзину, категория и т.д.
Установить плагин — WooCommerce Product Archive Customiser, вы сможете прямо из админ-панели wordpress. Перейдите на страницу: Плагины — Добавить новый , введите название плагина в форму поиска, нажмите Enter, установите и активируйте плагин.
После установки и активации плагина, перейдите на страницу: Внешний вид — Настроить . В списке настраиваемых элементов, у вас появится вкладка — Product Archives . Откройте данную вкладку.
Здесь вы сможете настроить страницу с товарами.
— Product columns, укажите здесь сколько должно быть колонок на странице товаров.
— Products per page, укажите здесь сколько должно отображаться максимум товаров.
— Display product count, показать или скрыть количество товаров.
— Display product sorting, отображение сортировки товаров.
— Display sale flashes, отображение продаж.
— Display add to cart buttons, отображение кнопки Добавить в корзину.
— Display product image, отображение изображения товара.
— Display prices, отображение цены.
— Display ratings, отображение рейтинга.
— Display new badge, отображение значка с акциями и скидками.
— Display categories, отображение категорий товаров.
— Display stock, отображение запасов.
После настройки параметров, нажмите вверху на кнопку — Сохранить и опубликовать .
Источник
Как изменять WooCommerce. Эпизод #3. Страница архивов
Sharing is caring
Понравилось это:
Похожее
Меня зовут Артем Абрамович и я являюсь фрилансером-вордпресером. Занимаюсь настройкой и редактированием сайтов созданных на CMS WordPress. Это основная моя специализация, есть еще несколько работ, которыми я занимаюсь, но обо этом вы можете более подробно узнать из моего портфолио.
83 комментария к “Как изменять WooCommerce. Эпизод #3. Страница архивов”
Супер! Это именно то что нужно тем кто занимается товаркой! Большое спасибо Вам за способ для вывода артикулов товарам в категориях!
Не за что) Вроде ничего сложного, если знать как
Артем, как массово изменить атрибуты товара для фильтра? , у меня более 2000 товаров,. Не всем товарам задать атрибут, а именно выбрать и задать.
Как это выбрать и задать? Такое только вручную возможно. Ну или какой-то хитрый импорт делать
Здравствуйте! Подскажите пожалуйста плагин Мессенджера Фейсбук именно для темы Storefront, ярлык которого не будет закрывать “Корзину” на мобильной версии и “Следующий товар” (в теме Storefront) на компьютере?
Доброго! Не подскажу, просто не знаю
Отличный выпуск, вот только почему add это адэдэ, а loop это не лооп, а просто луп?))
Специально так, а то о чем еще говорить?)) А тут повод комент написать)
Видео очень полезное, но мне еще учиться и учиться… Расскажите пожалуйста какой файл отвечает за просчет количества и характеристик товаров, дабы можно о было задать конкретному товару список характеристики … Не совсем понимаю как реализовать калькулятор… Или направьте на путь истинный …
Смотрите предыдущий эпизод, там было про это. А так за эи характеристики отвечает файл product-atributes
Калькулятор чего? Тут надо от задачи танцевать
Здесь описана методика для классических тем оформления через хуки в functions.php – если в теме подключается свой content-product.php – артикул можно в нем вывести без вызова самой функции (скопировав только от до ) – многое зависит от вашей темы оформления, если опыта мало то не забывайте делать бекап файлов и базы данных
Артем, а с точки зрения быстродействия – ремув и эдд экшены замедляют?
Добрый день. Есть вопрос не совсем по теме. Есть магазин на woocommerce, мне нужно сделать, так чтобы в зависимости от города России, выдавалась одинаковая страница со своими ценами и условиями (мультирегиональность вроде называется)? Как это правильней сделать? Или подскажите направление, инфу, плагины и т. д. ? Вида типа такой https://mysite/moscov/product-category/converce в место moscov разный город
P.S. Возможно фильтровать от того какой город выберет пользователь
Добрый! Ну возможно конечно, но это просто так не сделать, там надо через WP_SITEURL делать. По типу мультиязычности, но сам такого никогда не делал, точно не скажу
Спасибо за ответ)) Я вот такой плагин нашел WC City Select, установил, но никаких изменений.
Даже и functions.php пихал https://github.com/8manos/wc-city-select
Это наверное ваще не стой оперы
Этот плагин просто список городов выводит. А вам то надо еще и геотаргетинг прикручивать, чтобы город определялся и по этому определению срабатывала нужная ссылка.
WT GeoTargeting вот еще плагин интересный. Я понял спасибо
Ну да, можно им попробовать
Добрый день!!Столкнулся с проблемой импорта товаров из каталога в виде таблицы Excel в магазин на WP. Видеообзоры,которые нашел на просторах ютюба не совсем понятны. Может вас заинтересует как тема для последующих видео на вашем канале?
Добрый! Для импорта проще всего использовать плагин WP all in Import – и бесплатно, и удобно, и понимает любой формат
Поддерживаю. Хороший плагин. Правда у меня про установлен, не знаю чем от бесплатного отличается. Для ву еще аддон нужен
Подскажите пожалуйста, как можно сделать вывод товаров на другой странице(например на главной) и чтоб такие же товары оставались и на странице магазина
Есть шорткоды для этого. Можно на любой странице выводить как угодно и любые товары
Артем, приветсвую.
Дождался этих видео, в нормальном формате, но не дождался ответа на вопрос.
Когда-то спрашивал – для страниц категорий, если нужно выводить дескрипшен(вверху) и еще некоторые блоки (например некоторый текст/посты и тп) внизу страницы – твое видение?
Как лучше сделать?
Пока что пихал в functions по условию is_category do_shortcode. И далее уже либо пост выводил, либо любой шорткод темы.
Мне кажется как-то топорно. Хотелось бы узнать твое мнение.
Может существует более красивое решение?
Если мне надо дескрипшн + еще другие блоки текста (посты и тп)
и вверху и снизу.. ну собсно неважно где.. но несколько блоков текста.
Откуда эти блоки текста берутся? Они одинаковые для всех страниц категорий или уникальные для каждой категории?
Все разные.
Выводил шорткодом пост через его таксономию сделанную под категорию.
Можно конечно и в функшнз хтмл пихануть…
Но чтото не нравится мне…
Мб завести както кастомные поля для категорий?
Как когдато научил делать в админке для страниц?
Да, кастомные поля норм решение, и поп роще все будет
Ох, епт.. осталось только применить это.
пока что туманно представляю)
Все просто супер. Услышал много ответов на свои вопросы
Было бы очень круто узнать, как на вукомерсе организовать предоплату! Вот это реально полезная вещь была бы)
Чем предоплата от простой оплаты отличается?
Я наверное не правильно выразился. Есть вариант полной оплаты, и в этом случае доставка бесплатно. А есть вариант отправки наложенным платежом, и в этом случае нужно предоплата, в енную сумму, и разные квитанции на почту соответственнно. Но наверное это более серьёзная инфа, за которую обычно берут деньги. Но если бы вы смогли показать как это делается, было бы круто!)
@Last Day On Earth: Survival Dim4ik У вас как-то логика не бьется) Наложенный платеж как бы предполагает оплату после получения товара)
Но формально да, так можно сделать. Оплата в зависимости от способа доставки. Только простого способа не знаю. Может быть плагин какой есть
подскажите хук для woomerce как убрать название категории на странице тема океан вп ))
если в самой теме выключаю убирается и у карточки товара (
Вроде обсудили этот момент)
@Финты WordPress да спасибо)
Огромное спасибо. Целый день убил на безуспешные поиски информации о исправлении этой кривой сетки категорий. Потом вспомни, что у вас есть целый плейлист по WC. Жалею, о том, что раньше не вспомнил, так бы день сэкономил)))
Рад, что помогло)
Приветствую, могли бы вы подсказать, как изменить работу кнопки. Мне нужно сделать, что бы при нажатие на данную кнопку всплывало окно для обратной связи. Что для этого нужно использовать и как поменять функцию кнопки.
Доброго! Какой кнопки? Купить?
@Финты WordPress совершенно верно
Может этот плагин подойдет https://wpruse.ru/my-plugins/art-woocommerce-order-one-click/ он умеет и рядом кнопку выводить и заменять
@Финты WordPress благодарю Вас за помощь.
Спасибо за труд! Очень полезные видео!
Добрый день. Подскажите а как можно отключить фильтр по цене в определенной категории.
Например Есть 5 категорий товара, в сайтбаре выведены фильтры по атребутам для каждой категории и только на 1 странице надо фильтр по цене.
Все спасибо. Разобрался
И как отключили?
@Финты WordPress . В стилях прописал .term-15 .cena <
display: none;
>
.term-15 – класс категории товара
.cena – присвоил класс для фильтра по цене
Подскажите, как можно добавить дополнительное описание внизу категории товара, чтобы его можно было изменять через доп. поле на странице рубрики? Я знаю, есть плагины, но хочу это реализовать без них. Искал у вас на сайте код, но что-то не нашел, может подскажите ссылку, если есть решение
На сайте у меня нет, писал как решение https://github.com/artikus11/art-woo-desc-loop но работает только с рубриками
Не знаю, как на момент записи видео, но сейчас имеется возможность выводить на странице магазина либо категории, либо товары, либо и то и другое вместе. Страница магазина > настроить > Woocommerce > Каталог товаров.
Это всегда так было
Добрый день!
А в каком файле фильтр лежит, найти не могу? Подскажите пожалуйста
Добрый! Фильтр чего?
В жизни не додумался бы, что вывод подкатегорий вешается на woocommerce_product_loop_start. Спасибо! Кстати, на github не всегда хороший вариант искать функции. У меня на фразу “woocommerce_output_product_categories” в файле wc-template-functions.php github выдал 2 результата хотя эта фраза встречается там 5 раз. Там, конечно, есть внизу упоминание “Showing the top two matches
“, но я это заметил только когда писал этот комментарий.
Согласен, гитхаб не всегда находит, поэтому я через Штром теперь все смотрю
Спасибо! Очень полезные курсы.
Добрый день! Подскажите пожалуйста, возможно ли вывести блоки количества товаров и их сортировку на произвольной странице? Я создал обычную страницу, на которой вывел с помощью шорткода товары одной конкретной категории. Всё отображается корректно. Единственное, что смущает – на странице отсутствуют блоки сортировки и количества отображаемых товаров (на страницах woocommerce они есть – тема oceanwp). Есть ли несложное решение, чтобы «прикрутить» эти элементы к этой конкретной странице? Я в коде не силён…Заранее спасибо за любую подсказку в данном направлении
Ну прям несложного если только блоки использовать из WooCommerce Blocks там есть возможность так листинги выводить
а на какой странице все это обрачивается в единый контейнер? мне нужно спозиционировать страницу категорий и сайдбар, но не понимаю где можно прописать клас обертку и контейнер… тема Underscore
Ну если единый, то может отравать тег в шапке, а закрывать в подвале
Сейчас такое удаление хуков/фильтров не работает(Проверено на WP5.5.3+WC4.7.0-иных плагинов нет). В случае фильтра 27:01(Разбиение петли категорий+товаров на отдельные) нужно так:
add_filter( ‘woocommerce_product_loop_start’, function($loop_start) <
remove_filter( ‘woocommerce_product_loop_start’, ‘woocommerce_maybe_show_product_subcategories’ );
return $loop_start;
>, 1 );
add_action(‘woocommerce_before_shop_loop’, function() <
woocommerce_product_loop_start();
echo woocommerce_maybe_show_product_subcategories();
woocommerce_product_loop_end();
>, 40);
Работает. Хотя на мой нубский взгляд, смущает приоритет 1, такая кувалдочка на мелкий гвоздик.
@Финты WordPress Ну-ну, а вы сами попробуйте(приоритет менялся от 1 до 100)
add_action( ‘after_setup_theme’, function() <
remove_action( ‘woocommerce_before_main_content’, ‘woocommerce_breadcrumb’, 20 );
// github.com/woocommerce/woocommerce/blob/master/templates/archive-product.php#L23
> );
И after_setup_theme в данном случае не причем – обошлось без него. Всего лишь обычный:
add_action( ‘storefront_before_content’, ‘woocommerce_breadcrumb’, 10 );
// themes/storefront/inc/woocommerce/ storefront-woocommerce-template-hooks.php
Вот так вот, тема storefront перевесила хлебные крошки на другой хук в своих файлах и дефолтный из очевидного archive-product.php не переопределяется даже с помощью ‘after_setup_theme’.
Если я правильно понял проблему, то есть разные ситуации. Со storefront – это первая ситуация, когда тема переопределяет хуки вукомерса, вторая ситуация – когда приходиться переопределять хуки, через дочернюю тему, которые уже переопределены в родительской.
Вот во втором случае, как раз проще всего через after_setup_theme это делать, а в первом случа можно вообще как угодно делать и after_setup_theme не нужен, так как родительская тема имеет больший приоритет.
Есть еще третий случай, когда приходить переопределять хуке в дочерке, которые переопределены в родителе через класс, вот там вообще атас.
Так что, в storefront все правильно сделано. При разработке тем можно и нужно ориентироваться именно на эту тему
@Финты WordPress Правильность/неправильность сделанного в Storefront я не оцениваю. Исходная предпосылка появления костыля в 1м комментарии была в том, что remove_action(+after_setup_theme) могут не срабатывать, вопрос почему и что делать(отчасти подозрения где искать появились).
Но вот по поводу последнего вашего комментария – возможно, стоит лучше осмыслить, учитывая 2 момента:
1) Есть вероятность, что сейчас без after_setup_theme удаление хуков просто так не всегда работает (многие примеры в ваших видео из данного плейлиста не запустились пока не был добавлен after_setup_theme), функции исходного woocommerce, тема Storefront.
remove_action( ‘woocommerce_shop_loop_item_title’, ‘woocommerce_template_loop_product_title’, 10 ); // убрать заголовок товара в архиве товаров
woocommerce/templates/content-product.php
remove_action( ‘woocommerce_before_shop_loop’, ‘woocommerce_result_count’, 20 ); // Убрать кол-во результатов
woocommerce/ templates/archive-product.php
(По-вашему комментарию, эти 2 хука должны быть переопределены темой storefront где-то здесь: /themes/storefront/inc/storefront-template-hooks.php или /themes/storefront/inc/woocommerce/ , чтобы требовать after_setup_theme. )
Или это 3й вариант для таких простейших хуков(переопределены через класс в Storefront)?
2) Даже after_setup_theme не гарантирует 100%-е манипулирование хуками. Примеры таки хуков
woocommerce/templates/archive-product.php:
remove_action( ‘woocommerce_before_main_content’, ‘woocommerce_breadcrumb’, 20 ); // хлебные крошки
remove_action( ‘woocommerce_before_shop_loop’, ‘woocommerce_catalog_ordering’, 30 ); // выпадающее меню сортировки – оно вообще неубираемый какой-то
PS: Вот это вот все не требование ответа, есть вероятность, что и сами вопросы на данный момент не совсем корректны – я еще только разбираюсь. Это лишь наблюдение и предварительные проблемы/размышления.
Ну и легкое недоумение – почему не работают примеры без after_setup_theme и по этому поводу нет вопросов в комментария.
1. Специально видео пересмотрел) Обратите внимание, какая тема используется для отключения хуков. Там используется дефолтная тема, в которой хуки Вукомерса никак не используются, именно поэтому все отключается просто и не замысловато. Как только будет использоваться дочерка лобой темы, которая внутри себя переопределяет хуки, тут без after_setup_theme не обойтись
2. А я и не говорил, что after_setup_theme – панацея, тут надо смотреть индивидуально, так как сегодня многие темы написаны с использованием ООП, но при этом хуки там переопределяют так, что приходиться писать специальные функции, чтобы переопределить что-то.
“почему не работают примеры без after_setup_theme” – то же индивидуально надо рассматривать, но в целом, это происходит именно из-за темы и того как она написана.
Попробуйте взять дефолтную тему, просто новую пустую тему и, например, тему OceanWP и посмотрите как это все будет работать
@Финты WordPress storefront 2.9.0 + чистый плагин + выборочно – в дочерней теме https://github.com/stuartduff/storefront-child-theme
В основном тестирую в плагине, но когда возникали проблемы – параллельно проверялось в дочерней Storefront.
Весь список не озвучу, но как минимум:
remove_action( ‘woocommerce_shop_loop_item_title’, ‘woocommerce_template_loop_product_title’, 10 ); – без after_setup_theme не убирается в плагине, но это возможно в дочерней теме
remove_action( ‘woocommerce_before_shop_loop’, ‘woocommerce_result_count’, 20 ); – без after_setup_theme не убирается в плагине и не убирается в дочерней теме
remove_action( ‘woocommerce_get_breadcrumbp’, ‘woocommerce_breadcrumb’, 20 ); – не убирается вообще ни в плагине, ни в дочерней теме, и не важно есть after_setup_theme или нет.
В любом случае – на данный момент пока не планирую дальше разбираться – как минимум для начала получше документацию посмотрю.
Источник