Эндпоинты — это дополнительная часть в URL-адресе сайта, которая используется, чтобы показать различный контент, когда он присутствует.
Например: У вас может быть страницы «мой аккаунт», отображаемая по URL вашего yoursite.com/my-account.. Когда к этому URL добавляется конечная точка «edit-account», что превращает его в yourrsite.com/my-account/edit-account, то вместо страницы My account отображается страница Edit account.
Это позволяет нам показывать различный контент без необходимости использования нескольких страниц и шорткодов, а также уменьшает количество контента, который необходимо установить.
Эндпоинты расположены в WooCommerce > Настройки > Дополнительно.
Эндпоинты оформления заказа
Следующие эндпоинты используются для функциональности, связанной с проверкой, и добавляются к URL страницы /checkout:
- Страница оплаты —
/order-pay/{ORDER_ID}
- Заказ получен (спасибо за заказ) —
/order-received/
- Добавление способа оплаты —
/add-payment-method/
- Удаление способа оплаты —
/delete-payment-method/
- Установка способа оплаты по умолчанию —
/set-default-payment-method/
Эндпоинты учетной записи
Следующие эндпоинты используются для функциональности, связанной с учетными записями, и добавляются к URL страницы /my-account:
- Заказы –
/orders/
- Просмотр заказа –
/view-order/{ORDER_ID}
- Загрузки –
/downloads/
- Редактировать учетную запись (и сменить пароль) –
/edit-account/
- Адреса –
/edit-address/
- Методы оплаты –
/payment-methods/
- Забыл пароль –
/lost-password/
- Выйти –
/customer-logout/
Настройка URL-адресов эндпоинтов
URL-адрес для каждого эндпоинта можно настроить в разделе Настройка страницы в WooCommerce > Настройки > Дополнительно.
Убедитесь, что они уникальны, чтобы избежать конфликтов. Если у вас возникли проблемы с 404-ми, перейдите в Настройки > Постоянные ссылки и сохраните, чтобы переписать правила.
Использование эндпоинтов в меню
Если вы хотите включить эндпоинт в меню, вам нужно воспользоваться разделом Ссылки:
Введите полный URL-адрес эндпоинта, а затем вставьте его в меню.
Помните, что некоторые конечные точки, такие как порядок просмотра, требуют ID заказа для работы. В общем, мы не рекомендуем добавлять эти конечные точки в меню. Доступ к этим страницам можно получить через страницу счета.
Использование эндпоинтов в плагинах платежного шлюза
Примечание: Это документ в разработке, предоставляемый в качестве руководства. Мы не можем давать советы или просматривать код в соответствии с нашей Политикой Поддержки.
WooCommerce предоставляет вспомогательные функции в класса заказа для получения следующих URL-адресов. Это:
$order->get_checkout_payment_url( $on_checkout = false );
и:
$order->get_checkout_order_received_url();
Шлюзы должны использовать эти методы для полной 2.1+ совместимости.
Поиск и устранение неисправностей
Эндпоинты показывают 404
- Если вы заметили ошибку 404, перейдите в Настройки > Постоянные ссылки и Сохранить. Это гарантирует, что правила перезаписи для эндпоинтов существуют и готовы к использованию.
- При использовании такого эндпоинта, как view-order, убедитесь, что в нем указан номер заказа /view-order/ является недействительным. /view-order/10/ является действительным. Эти типы эндпоинтов не должны присутствовать в навигационных меню.
Эндпоинты не работают
На серверах Windows файл web.config может быть неправильно настроен для корректной работы эндпоинтов. В этом случае при клике по ссылкам на эндпоинты (например, /edit-account/ или /customer-logout/) может показаться, что ничего не происходит, кроме обновления старинцы. Чтобы решить эту проблему, попробуйте упростить файл web.config на вашем сервере Windows. Вот пример конфигурации файла:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers accessPolicy="Read, Execute, Script" />
<rewrite>
<rules>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Страницы ведут не туда
Переход на неправильную страницу при клике по URL эндпоинта, как правило, вызван неправильными настройками. Например, нажатие кнопки «Редактировать адрес» на странице вашего аккаунта переводит вас на страницу Магазина вместо формы редактирования адреса означает, что вы выбрали неправильную страницу в настройках. Убедитесь, что ваши страницы правильно настроены, и что для каждого раздела используется отдельная страница.