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. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.