Сторінка магазину WooCommerce, щоб використовувати мій власний шаблон [закрито]


9

Перш ніж задавати питання, я хочу сказати вам, що я вже задав це питання на веб-сторінці /programming/15025213/wordpress-woocommerce-template-file-overiding

Я використовую плагін WooCommerce для створення веб-сайту. З WooCommerce все добре. Відповідно до моєї вимоги, я налаштував свою домашню сторінку як базову сторінку магазину на інформаційній панелі WooCommerce, щоб зробити свою домашню сторінку сторінкою магазину. Тепер моя вимога полягає в тому, щоб розмістити деякі зображення, які слід завантажити з боку адміністратора, і показати деякий текст над зображеннями. Для цієї функції я шукав Google, і деякі люди запропонували мені використовувати розширені користувальницькі поля WordPress . Я щойно його встановив.

Тепер я побачив, що 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(); ?>

Я це зробив, але все-таки я не отримую свої власні поля з розширених спеціальних полів . Тож ласкаво допоможи мені. Будь-які пропозиції та допомога будуть помітні. Дякую.

Мій код для відображення розширених спеціальних полів для зображення та тексту виглядає так:

<?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.


Можливо, документація на туалет має деякі підказки.
brasofilo

@brasofilo Я шукав документацію, але там не мав жодної підказки ...
NewUser

Перевірте, чи це допомагає.
brasofilo

так, я спробував це, але це показує такFatal error: Cannot redeclare show_template() (previously declared
NewUser

Була помилка з назвою функції, просто її виправили.
brasofilo

Відповіді:


5

Переглядаючи ваше запитання, я хочу сказати вам, що в комерційній торгівлі не буде використовуватися ваш власний шаблон. Він використовуватиме власний шаблон. Оскільки ви хочете використовувати плагін розширеного користувацького поля Wordpress, я хочу вам сказати, що ця функція працює лише на сторінці та публікації. Отже, оскільки woocommerce не дозволить використовувати ваш власний шаблон, ви не можете використовувати розширені функції спеціальних полів.

Тепер просто зробіть щось інше. Просто зробіть свій власний шаблон, де ви хочете показати свої продукти. Потім просто перейдіть на сайт http://docs.woothemes.com/document/woocommerce-shortcodes/ Тут ви можете побачити шорт- коди для woocommerce . Тут ви можете легко показати майже всі продукти за допомогою власного налаштування. Тепер використовуйте ці штрих-коди, щоб показати продукти. Тут ви домоглися, що для комерційної торгівлі використовується ваш власний шаблон. Тепер, оскільки це ваш власний шаблон, ви можете легко використовувати для цього розширені спеціальні поля. Це зрозуміло? Якщо будь-яка річ, яку ви не можете зрозуміти, то відповідайте мені. Сподіваюся, що це вам допоможе.


11

Я не зовсім впевнений, чи правильно я розумію вашу проблему, але ось моя спроба її повторити.

Спочатку розглянемо цю частину документації 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; ?>

Ось сторінка продукту:

сторінка продукту
натисніть, щоб збільшити

І ось результат на сайті:

результат сайту


Якщо ви хочете налаштувати сторінку "Магазин", скопіюйте файл /wp-content/plugins/woocommerce/templates/archive-product.phpу /woocommerce/папку вашої теми .


-2

Спробуйте замінити плагін, який ви використовуєте, на офіційні розширення WooCommerce, наприклад "Додатки до продуктів" ( http://www.woothemes.com/products/product-add-ons/ ).


ви правильно прочитали мої запитання?
Новий користувач

1
Я згоден. Можливо, вам знадобиться якийсь час, поки ви зрозумієте мою відповідь.
поле
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.