Как изменить корзину 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

Ответы

Ответ 1

Вы можете использовать функцию: wc_get_page_id ('cart'), чтобы получить идентификатор страницы. Эта функция будет использовать настройку страницы как страницу "cart", а не пуля. Значит, он будет продолжать работать и при настройке другого URL-адреса для вашей "корзины" на странице настроек. Это работает для всех видов специальной страницы Woocommerce, таких как "checkout", "shop" и т.д.

Пример:

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

Ответ 2

Еще один способ полностью переопределить cart.php - скопировать:

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

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

Ответ 3

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

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

Ответ 4

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

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

Ответ 5

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

Ответ 6

В 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}/page-cart.php.

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

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