В Woocommerce я использую приведенный ниже код для настройки некоторых перенаправлений.Все работает нормально.
У меня есть проблема с выходом из системы, который не работает при использовании ?customer-logout=true
в меню, поскольку он перенаправлен на страницу /dashboard/
.
Это мойкод для перенаправления:
add_action( 'parse_request', 'redirect_to_my_account_dashboard' );
function redirect_to_my_account_dashboard( $wp ) {
if ( is_user_logged_in() ) {
$allowed_endpoints = [ 'downloads', 'orders', 'edit-account', 'lost-password', 'reset-password', 'payment-methods', 'view-order', 'customer-logout' ];
if (
preg_match( '%^account(?:/([^/]+)|)/?$%', $wp->request, $m ) &&
( empty( $m[1] ) || ! in_array( $m[1], $allowed_endpoints ) )
) {
wp_redirect( '../dashboard/' );
exit;
}
}
}