is_wc_endpoint_url() – позволяет проверить, что мы находимся на одной из подстраниц WooCommerce

Прежде всего, ребят, если у вас возникают трудности с пониманием того, как в WooCommerce всё устроено, то я однозначно рекомендую вам свой видеокурс 🚀

Что касается is_wc_endpoint_url(), давайте сначала в двух словах расскажу про её параметры и примеры использования, а ниже уже более детально опишу, что такое подстраницы WooCommerce.

is_wc_endpoint_url( $endpoint = false )
$endpoint
(строка) стандартный эндпойнт, а точнее стандартный ярлык подстраницы, нахождение на которой мы хотим проверить. Может принимать например одно из следующих значений:
  • order-pay – страница оплаты конкретного заказа,
  • order-received – страница после успешной оплаты заказа,
  • orders – вкладка «Заказы» в личном кабинете
  • view-order – страница просмотра заказа,
  • downloads – вкладка «Загрузки» в личном кабинете
  • edit-account – подстраница редактирования личной информации и пароля в личном кабинете, она называется «Профиль» кстати,
  • edit-address – подстраница «Адреса» в личном кабинете, либо редактирование платёжного или адреса доставки,
  • lost-password – страница восстановления пароля,
  • payment-methods – подстраница с методами оплаты пользователя,
  • add-payment-method – страница добавления нового метода оплаты.
Если не указывать параметр, возвращает true при нахождении на любой подстранице.

В качестве примера давайте проверим, что мы находимся в личном кабинете, на вкладке «Адреса», либо редактируем один из адресов в данный момент:

if( is_wc_endpoint_url( 'edit-address' ) ) {
	// да
}

Также важно знать, что функцию интересует именно сам эндпойнт, а не то, на какой странице он добавлен. Поэтому пример выше в очень редких случаях может срабатывать неверно, и если вы прямо хотите быть уверены на 100%, то докидываем туда функцию is_account_page():

if( is_account_page() && is_wc_endpoint_url( 'edit-address' ) ) {
	// да!
}

Подстраницы WooCommerce

На самом деле, для того, чтобы понять, что это такое, достаточно взглянуть на этот скриншот:

Вкладки в личном кабинете WooCommerce
  • «Заказы», «Загрузки», «Адреса», «Профиль» – это всё подстраницы для «Моя учетная запись».
  • Подстраницы нельзя отредактировать через админку – только через код, о том как – в моём видеокурсе.
  • Зато у подстраниц можно изменить ярлык в админке, в Настройки > WooCommerce > Дополнительно, но это никак не повлияет на значения параметра $endpoint функции, потому что там используются именно стандартные значения ярлыков.
  • При изменения ярлыка подстраницы в админке, она поменяет свой URL, например было my-account/edit-address, а стало my-account/addresses.

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

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

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