Как изменить корзину WooCommerce, страницы оформления заказа (основная часть темы)

Я исследовал и настраивал свою собственную тему WordPress и переопределял шаблоны WooCommerce с помощью теперь установленного WooCommerce, чтобы исправить кучу небольших проблем форматирования, возникающих на страницах WooCommerce. Я до сих пор корзину и оформить заказ, который да, они используют cart.php (и все, что нужно проверить PHP), но также использует основную тему WordPress page.php, Я был в состоянии использовать is_woocommerce() в условных других местах, но не здесь, как я узнал в документах WooCommerce, которые нельзя использовать при оформлении заказа и в корзине.

is_woocommerce () — Возвращает true, если на странице, которая использует шаблоны WooCommerce (корзина и оформление заказа являются стандартными страницами с короткими кодами и, следовательно, не включены).
http://docs.woothemes.com/document/conditional-tags/

Так как я могу изменить внешний вид этих страниц? У меня есть «Просмотреть все сообщения» и дата / время вверху, а также боковая панель категорий page.php, которую я не хочу показывать по понятным причинам на кассе и в корзине, поскольку они вообще не имеют смысла. Какие у меня варианты?

Могу ли я заставить его использовать другой шаблон, отличный от page.php?

Это вариант? Это плохая практика … это вызывает большую нагрузку на каждую страницу с этим циклом? Куда я это положу?
http://saiyedfaishal.wordpress.com/2014/01/06/check-if-it-is-woocommerce-page/

Какой лучший способ пойти по этому поводу? Спасибо за любую помощь!
Этот вопрос несколько связан с — Как изменить действие woocommerce_before_cart

21

Решение

Вы можете использовать функцию: wc_get_page_id (‘корзина’) чтобы получить идентификатор страницы. Эта функция будет использовать настройку страницы как страницу «корзины», а не как слаг. Это означает, что он будет продолжать работать, даже если вы настроите другой URL для своей «корзины» на странице настроек. Это работает для всех видов специальных страниц Woocommerce, таких как «оформить заказ», «магазин» и т. Д.

пример:

if (wc_get_page_id( 'cart' ) == get_the_ID()) {
// Do something.
}
18

Другие решения

Другой способ полностью переопределить cart.php — скопировать:

woocommerce/templates/cart/cart.php to
yourtheme/woocommerce/cart/cart.php

Затем делайте все, что вам нужно, на yourtheme / woocommerce / cart / cart.php

34

Вы можете использовать is_cart () условный тег:

if (! is_cart() ) {
// Do something.
}
8

Я обнаружил, что это хорошо работает как условие в page.php это включает в себя корзину WooCommerce и экраны оформления заказа.

!is_page(array('cart', 'checkout'))
2

В WooCommerce есть несколько опций для изменения корзины и страниц оформления заказа. Вот три, которые я рекомендую:

использование Условные теги WooCommerce

is_cart() а также is_checkout() функции возвращают true на своей странице. Пример:

if ( is_cart() || is_checkout() ) {
echo "This is the cart, or checkout page!";
}

Изменить файл шаблона

Основной файл шаблона корзины находится по адресу wp-content/themes/{current-theme}/woocommerce/cart/cart.php

Основной файл шаблона оформления заказа находится по адресу wp-content/themes/{current-theme}/woocommerce/checkout/form-checkout.php

Чтобы отредактировать их, сначала скопируйте их в свою дочернюю тему.

использование wp-content/themes/{current-theme}/page-{slug}.php

page-{slug}.php это второй шаблон, который будет использоваться после назначенных вручную через панель управления WP.

Это безопаснее, чем другие мои решения, потому что если вы удалите WooCommerce, но забудете удалить этот файл, код внутри (который может зависеть от функций WooCommerce) не сломается, потому что он никогда не вызывается (если только у вас нет страницы с слизень {slug}).

Например:

  • wp-content/themes/{current-theme}/page-cart.php
  • wp-content/themes/{current-theme}/page-checkout.php
2

Я использовал шаблон page-checkout.php, чтобы изменить заголовок страницы моей корзины. Я переименовал его в page-cart.php в моем / wp-content / themes / childtheme / woocommerce /. Это дает вам больше контроля над переносом HTML, заголовка и нижнего колонтитула.

1
По вопросам рекламы [email protected]