2

Я использую woocommerce для создания магазина электронной коммерции. Все хорошо с woocommerce. Но у меня есть одна проблема. Поскольку я хочу показать некоторые пользовательские изображения с некоторыми текстами на странице продукта (страница на основе магазина). Так что для этого я думал, что wordpress advanced custom fields будет хорошо. Я сделал это. И теперь мне нужно извлечь изображение в файл шаблона. Но, пройдя через плагин woocommerce, я понял, что он не использует шаблон wordpress. Woocommerce самостоятельно генерирует общую страницу (producr page). И я хочу показать некоторые настраиваемые поля из плагина wordpress advanced custom fields. Так может кто-то любезно сказать мне, как это сделать? Любая помощь и предложения будут действительно заметны. Спасибо ...wordpress woocommerce template file overiding

Я хочу, чтобы страница магазина woocommerce, где показаны все продукты, должна использовать мой собственный шаблон. Так что я могу использовать код Wordpress расширенных настраиваемых полей

+1

Примечание для других читателей, этот вопрос также был здесь http://wordpress.stackexchange.com/questions/88033/woocommerce-shop-page-to-use-my-custom-template спросил – Kirby

ответ

5

Чтобы переопределить шаблон Woocommerce от wp-content/plugins/woocommerce/templates, создайте файл с тем же именем в wp-content/themes/<your theme>/woocommerce. Он будет использоваться вместо оригинального.

Если посмотреть на one of the original template files, вы на самом деле найти эту инструкцию в качестве комментария в верхней части:

Override этот шаблон, скопировав его в yourtheme/WooCommerce/Single-product.php

+2

спасибо за ответ но когда я только что скопировал папку шаблона woocommerce и вставил ее в папку темы и с помощью дополнительных настраиваемых полей плагинов, чтобы переопределить страницу магазина, чтобы показать некоторые изображения, они не отображаются там. Можете ли вы мне помочь? - Когда я только что удалил плагин woocommerce, тогда пользовательское изображение из дополнительных настраиваемых полей покажет – NewUser

+0

Можете ли вы объяснить, какую модификацию вы хотите на своей странице покупок?/ –

4

WooCommerce не использует обычные шаблонные файлы из вашей темы (он использует верхний и нижний колонтитулы и т. Д., Но основная часть фактического внутреннего содержимого разделена на множество файлов шаблонов Woo).

Вы можете скопировать шаблоны из каталога plugins/woocommerce/templates и переместить их в каталог themes/yourtheme/woocommerce, чтобы переопределить (просто выберите те, которые вам нужны).

Список всех шаблонов can be found here. Список полезных php-перехватчиков/фильтров для более продвинутой настройки can be found here. Другими полезными ресурсами являются CSS structure doc и list of conditional template tags для туалета.

Существует небольшая документация для разработки темы, посвященной ниттинской теме для WC, поэтому вам, вероятно, потребуется некоторое время, чтобы поэкспериментировать с шаблонами, чтобы выполнить то, что вы хотите, но это прилично комментируется и довольно легко работать с как только вы узнаете свой путь.

+1

+1 для правильной ссылки на документацию, даже не знал, что они существуют. .. – pixelistik

+0

@Ennui спасибо за ответ, но когда я только что сделал копию шаблона шаблона woocommerce и вставил его в папку темы и с помощью дополнительных настраиваемых полей плагинов, чтобы переопределить страницу магазина, чтобы показать некоторые изображения, которые она не показывает там. Можете ли вы выручи меня? - когда я только что удалил плагин woocommerce, тогда пользовательское изображение из дополнительных настраиваемых полей покажет – NewUser

+4

Плагин ACF создан для работы с обычными сообщениями/страницами Wordpress. Страницы продуктов Woocommerce используют собственный файл шаблонов, который может не работать с ACF из коробки. Вы должны проверить [как вручную вывести пользовательские поля] (https://codex.wordpress.org/Custom_Fields#Displaying_Custom_Fields) в шаблоне. – pixelistik

1

Для страницы продуктов и любая часть вашего сайта, который показывает такие продукты, как домашняя страница или страница категории код отвечает за это существует в WooCommerce-template.php линии 29

<?php if (have_posts()) : ?> 

       <?php do_action('woocommerce_before_shop_loop'); ?> 

       <?php woocommerce_product_loop_start(); ?> 

        <?php woocommerce_product_subcategories(); ?> 

        <?php while (have_posts()) : the_post(); ?> 

         <?php woocommerce_get_template_part('content', 'product'); ?> 

        <?php endwhile; // end of the loop. ?> 

       <?php woocommerce_product_loop_end(); ?> 

       <?php do_action('woocommerce_after_shop_loop'); ?> 

      <?php elseif (! woocommerce_product_subcategories(array('before' => woocommerce_product_loop_start(false), 'after' => woocommerce_product_loop_end(false)))) : ?> 

       <?php woocommerce_get_template('loop/no-products-found.php'); ?> 

      <?php endif; 

вы можете использовать крючки и фильтры для изменения какой-либо части или вы можете переопределить эту функцию в темы/yourtheme/woocommerce/functions.php также вы можете редактировать напрямую, но это не рекомендуется, так как вы потеряете изменения после любого обновления.

Обратите внимание, что в строке 71 эта функция Использование файла шаблона контента, который product.php Шаблон для отображения содержимого продукта внутри циклов и может быть переопределение путем копирования его yourtheme/WooCommerce/Content-product.php

1

Я нашел отличный список бесплатных плагинов woocommerce и некоторые советы по настройке. Может быть, это поможет. http://fivera.net/woocommerce-customization-free-wp-plugins/

+0

Не могли бы вы предоставить определенный плагин, который решает вопрос, заданный, вместо того, чтобы предоставлять ссылку на какой-либо другой сайт? –