is_checkout() – проверяет, если находимся на странице оформления заказа

Кстати, в моём видеокурсе по WooCommerce есть отдельный урок, в котором мы сами создаём шаблон страницы оформления заказа на основе готовой вёрстки.

is_checkout()

Функция возвращает true, если используется на странице оформления заказа в WooCommerce, в остальных случах – false.

Пример её использования:

if( is_checkout() ) {
	// это страница оформления заказа
} else {
	// это что угодно, но не оформление заказа
}

Также хочу подробнее рассказать о механизме работы этой функции. Фактически она возвращает true при срабатывании хотя бы одного из условий, перечисленных ниже:

  • Сначала идёт проверка того, что мы находимся на той странице WordPress, которая в настройках WooCommerce, вкладка Дополнительно, установлена в качестве системной страницы оформления заказа. Это осуществляется обычной функцией is_page() и wc_get_page_id() для получения ID системной страницы чекаута.
  • Второе условие – проверка наличия шорткода [woocommerce_checkout] в контенте страницы, что делается функцией wc_post_content_has_shortcode().
  • Третье условие – факт того, что определена константа WOOCOMMERCE_CHECKOUT.
  • И последнее, но самое интересное условие – это фильтр-хук woocommerce_is_checkout, который по умолчанию возвращает false, но подключившись к нему, мы по сути можем сделать любую страницу страницей оформления заказа.

woocommerce_is_checkout

Хук woocommerce_is_checkout нужен для того, чтобы обмануть сам WooCommerce и все плагины, которые для него пишутся. Например вы хотите использовать чекаут на главной странице, но у вас не работает платёжный шлюз, то попробуйте такое:

add_filter( 'woocommerce_is_checkout', 'truemisha_glavnaya_checkout', 100 );
 
function truemisha_glavnaya_checkout( $is_checkout ) {
 
	if( is_front_page() ) { // главная
		$is_checkout = true;
	}
	return $is_checkout; // шалость удалась
 
}

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал