Прежде всего, ребят, если у вас возникают трудности с пониманием того, как в WooCommerce всё устроено, то я однозначно рекомендую вам свой видеокурс 🚀
Что касается is_wc_endpoint_url()
, давайте сначала в двух словах расскажу про её параметры и примеры использования, а ниже уже более детально опишу, что такое подстраницы WooCommerce.
is_wc_endpoint_url( $endpoint = false )
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' ) ) { // да! }
На самом деле, для того, чтобы понять, что это такое, достаточно взглянуть на этот скриншот:
$endpoint
функции, потому что там используются именно стандартные значения ярлыков.my-account/edit-address
, а стало my-account/addresses
.Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
а как можно добавить свой эндпоинт?
вот так например.