Додаємо свої сторінки (endpoints) до акаунту WooCommerce
28.02.2023 | Написав eugenem
Додамо додаткові сторінки до акаунту користувача woocommerce. Робимо це таким чином:
1. В папці теми створимо окремий файл custom-endpoints.php, де будемо довати необхідний фукціонал, щоб код не губився у function.php. І ще краще, якщо він буде в підпапці inc.
2. Підключаємо його в function.php:
//Account Endpoints require get_template_directory() . '/inc/custom-endpoints.php'; |
3. Відкриваємо inc/custom-endpoints.php і додаємо:
<?php // Додайємо слаг нової кінцевої точки add_action( 'init', 'mytheme_edit_password_endpoint' ); function mytheme_edit_password_endpoint() { add_rewrite_endpoint( 'edit-password', EP_PAGES ); } /* Додайємо контент нашої кінцевої точки. В цьому прикладі від буде описуватись додатковою сторінкою. Але можна писати код прямо в функцію Важливий момент - назва екшена повинна включати в себе наш слаг edit-password Другий момент - в $args ми можемо передати змінні, якщо потрібно. */ add_action( 'woocommerce_account_edit-password_endpoint', 'mytheme_edit_password_content' ); function mytheme_edit_password_content() { $args = []; wc_get_template('myaccount/form-edit-password.php', [ 'args' => $args ]); } // Додайємо вкладку в меню акаунта. В ціьому прикладі також прибрані зайві сторіки add_filter ( 'woocommerce_account_menu_items', 'mytheme_custom_endpoint_account' ); function mytheme_custom_endpoint_account() { $endpoints = array( 'edit-account' => __( 'Основні', 'mytheme' ), 'edit-password' => __( 'Приватність', 'mytheme' ), 'orders' => __( 'Історія платежів', 'mytheme' ), 'customer-logout' => __( 'Вийти', 'v' ), ); return $endpoints; } |
3. Обов’язково заходимо в адмінку WordPress на сторінку Налаштування – постійні посилання, щоб наш новий слаг сформувався.
4. Створюємо файл з безпосередньо контентом цієї сторінки в папці тема/woocommerce/myaccount/form-edit-password.php.
В цьому прикладі ми створили окрему сторінку, де можна додати код для зміни паролю.
Рубрика: Веброзробка
Коментарі читачів статті "Додаємо свої сторінки (endpoints) до акаунту WooCommerce"
Немає коментарів.