Додаємо свої сторінки (endpoints) до акаунту WooCommerce

28.02.2023 | Написав

Додамо додаткові сторінки до акаунту користувача 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"

Немає коментарів.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься.

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.