Изменения в файле archive-product.php не работают

Я пытаюсь настроить стандартную тему woocommerce и до сих пор хорошо работал. Я скопировал все файлы шаблонов с /plugins/woocommerce/templates до /mytheme/woocommerce и настроил файлы.

Но когда я что-то меняю в archive-product.php, ничего не происходит? Я даже попытался настроить это в основных файлах (/plugins/woocommerce/templates/archive-product.php), но я не работаю.

Я хочу изменить класс заголовка h1: <h1 class="page-title"><?php woocommerce_page_title(); ?></h1>.

Итак, я искал все файлы шаблонов woocommerce, класс page-title встречается только в этом одном файле (чтобы предотвратить редактирование неправильного файла).

Edit:

В деталях я хочу настроить тему, используемую в этом пути: http://example.com/product-category/mycategory

Ответ 1

Кажется, это проблема SOLLL в Woocommerce. Для тех, кто приземлился здесь, для меня, начиная с версии 2.1.6, работало следующее решение.

Очевидно, проблема связана с тем, что функция woocommerce_content() выводит неверную страницу для содержимого архива.

Я использовал следующее, чтобы обойти это:

замените woocommerce_content() в woocommerce.php на:

if ( is_singular( 'product' ) ) {
 woocommerce_content();
}else{
//For ANY product archive.
//Product taxonomy, product search or /shop landing
 woocommerce_get_template( 'archive-product.php' );
}

Кредит: найдено решение здесь

Ответ 2

Вот как я исправил мой:

  • Удалить woocommerce.php в папке темы.
  • Скопируйте папку TEMPLATE в каталог плагина woocommerce, вставьте ее в свою папку THEME и переименуйте ее в woocommerce.
  • Откройте папку, которую вы только что переименовали, перейдите в папку магазина и отредактируйте wrapper-start.php и wrapper-end.php.

Ответ 3

Если вы используете метод woocommerce.php, вы не можете настроить архив-продукт. Вы должны использовать метод hooks

http://docs.woothemes.com/document/third-party-custom-theme-compatibility/Обратите внимание: при создании woocommerce.php в папке тем вы не сможете переопределить пользовательский шаблон woocommerce/archive-product.php, поскольку woocommerce.php имеет приоритет над archive-product.php. Это предназначено для предотвращения проблем с отображением.

Ответ 4

Я пробовал все вышеперечисленные решения, но безрезультатно. Независимо от того, что я сделал, архив-product.php не использовался вообще. Вместо этого большинство страниц woocommerce использовали page.php из моей темы.

Решение для меня заключалось в том, чтобы добавить поддержку темы... Который, прошло какое-то время с тех пор, как я использовал woocommerce, поэтому я полностью забыл об этом. Но после добавления следующей строки в мой файл functions.php в настоящее время используется файл archive-product.php(/mytheme/woocommerce/archive-product.php), и я могу обновить его, как я должен быть.

add_theme_support('woocommerce');

Ответ 5

вам нужно отредактировать файл "taxonomy-product_cat.php" и добавить условную is_product_category ('mycategory').

  • откройте папку с темой и добавьте в нее новую подпапку с именем "woocommerce".
  • скопируйте файлы "archive-product.php" и "taxonomy-product_cat.php" из /plugins/woocommerce/templates в подпапку woocommerce в вашей теме.
  • переименуйте "archive-product.php" в "archive-mycategory.php" (или как вам угодно, это будет файл шаблона в категории).
  • откройте "taxonomy-product_cat.php" и оберните wc_get_template( 'archive-product.php' ); с помощью

    if (is_product_category( 'mycategory' )){
    wc_get_template( 'archive-mycategory.php' );
    

    } else {   wc_get_template ('archive-product.php'); }