Как изменить корзину 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 есть несколько вариантов модификации корзины и страниц проверки. Есть два, которые я бы рекомендовал:
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
Чтобы отредактировать их, сначала скопируйте их в свою дочернюю тему.