it-swarm.com.ru

Страница магазина WooCommerce для использования моего пользовательского шаблона

Прежде чем задать вопрос, я хочу сказать вам, что я уже задавал вопрос в https://stackoverflow.com/questions/15025213/wordpress-woocommerce-template-file-overiding

Я использую плагин WooCommerce для разработки веб-сайта. Все хорошо с WooCommerce. В соответствии с моим требованием я настроил свою домашнюю страницу как базовую страницу магазина на панели инструментов WooCommerce, чтобы сделать мою домашнюю страницу страницей магазина. Теперь мое требование - разместить несколько изображений, которые должны быть загружены со стороны администратора, и показать текст поверх изображений. Для этой функции я искал в Google, и некоторые люди предложили мне использовать WordPress Advanced Custom Fields . Я только что установил его.

Теперь я увидел, что WooCommerce не использует мою собственную тему. Он использует свою собственную тему. Поскольку я хочу показывать изображения и текст с помощью плагина Advanced Custom Fields , мне действительно нужен собственный шаблон для использования запросов к изображениям и тексту. Затем я снова искал в Google решение и получил предложение просто скопировать page.php темы в woocommerce.php, а затем просто заменить код:

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

      <?php get_template_part( 'content', 'page' ); ?>

      <?php comments_template( '', true ); ?>

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

с

<?php woocommerce_content(); ?>

Я сделал это, но все еще не получаю свои настраиваемые поля из Advanced Custom Fields . Пожалуйста, помогите мне. Любые предложения и помощь будут заметны. Благодарю.

Мой код для отображения расширенных пользовательских полей для изображения и текста выглядит следующим образом:

<?php $product_tab_banner = get_field('product_tab_banner');
    if($product_tab_banner): ?>
   <?php var_dump($product_tab_banner); ?>
    <div class="nt-highlighted-products">
    <img src="<?php echo $product_tab_banner['url']; ?>" alt="<?php echo $product_tab_banner['alt']; ?>"  width="<?php echo $product_tab_banner['sizes']['featured_product-width'];?>" height="<?php echo $product_tab_banner['sizes']['featured_product-height'];?>" title="<?php echo $product_tab_banner['title']; ?>" />
    </div>
  <?php endif; ?>

Я использую тему WordPress TwentyEleven.

7
NewUser

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

Теперь просто сделайте что-то другое. Просто сделайте свой собственный шаблон, где вы хотите показать свои продукты. Тогда просто перейдите на сайт http://docs.woothemes.com/document/woocommerce-shortcodes/ Здесь вы можете увидеть шорткоды для woocommerce . Где вы можете легко показать практически все продукты с вашей собственной настройкой. Теперь используйте эти шорткоды , чтобы показать продукты. Здесь вы добились, что woocommerce использует свой собственный шаблон. Теперь, поскольку это ваш собственный шаблон, вы можете легко использовать расширенные настраиваемые поля с этим. Это понятно? Если что-то не понятно, ответь мне. Надеюсь, что это поможет вам.

3
user159377

Я не совсем уверен, правильно ли я понимаю вашу проблему, но вот моя попытка воспроизвести ее.

Сначала , рассмотрите эту часть Документация WooCommerce :

Если вы хотите отредактировать один из этих шаблонов, просто скопируйте его в каталог в вашей теме с именем /woocommerce, сохраняя ту же структуру файлов, например, переместить /templates/cart/cart.php в themename/woocommerce/cart/cart.php. Скопированный файл будет переопределять файл шаблона WooCommerce по умолчанию.

Второй , это шаги репликации:

  • Использование WP 3.5.1, TwentyEleven 1.5, WooCommerce 1.6.6 и AdvancedCustomFields 4.0.0
  • Установите страницу "Магазин" в качестве статической главной страницы в настройках чтения (/wp-admin/options-reading.php)
  • Установите группу полей ACF, которая содержит поле изображения (product_tab_banner) с возвращаемым значением как "объект изображения" и должно отображаться в типе записи "Продукт"

Решение :

  • Создайте следующую папку: /wp-content/twentyeleven/woocommerce/
  • Скопируйте файл: /wp-content/plugins/woocommerce/templates/content-product.php в эту вновь созданную папку
  • Поместите свой код в эту копию content-product.php
$product_tab_banner = get_field('product_tab_banner');
if($product_tab_banner): ?>
    <div class="nt-highlighted-products">
    <img src="<?php echo $product_tab_banner['url']; ?>" 
        alt="<?php echo $product_tab_banner['alt']; ?>"  
        width="<?php echo $product_tab_banner['sizes']['featured_product-width'];?>" 
        height="<?php echo $product_tab_banner['sizes']['featured_product-height'];?>" 
        title="<?php echo $product_tab_banner['title']; ?>" />
    </div>
<?php endif; ?>

Вот страница продукта:

 product page 
нажмите, чтобы увеличить

А вот и результат на сайте:

 site result 


Если вы хотите настроить страницу "Магазин", скопируйте файл /wp-content/plugins/woocommerce/templates/archive-product.php в папку /woocommerce/ вашей темы.

10
brasofilo