44 lines
1.6 KiB
PHP
44 lines
1.6 KiB
PHP
<?php
|
|
|
|
/*
|
|
* it means someone outside wp is accessing the file, in this case kill it.
|
|
*/
|
|
if (!defined('ABSPATH')) {
|
|
die('You can not access this file!');
|
|
}
|
|
|
|
|
|
/*
|
|
* menu deconnexion
|
|
* 1. il faut creer un menu personalisé dans Apparence > Menus
|
|
* 2. dans le code ci-dessous, changer la valeur de $menu_title pour correspondre au titre du menu
|
|
* 3. et si besoin changer la valeur de $menu_redirect pour choisir la page de redirection :
|
|
* - si laissée vide, la redirection se fera sur la page de connexion de wordpress
|
|
* - avec $current_url la redirection se fera sur la page actuelle
|
|
* - avec $base_url on redirige vers la page d'accueil du site (l'url sans chemin supplementaire)
|
|
* cette variable $base_url peut etre utilisee pour construire une autre url :
|
|
* - $menu_redirect = $base_url -> https://le_site_actuel.com/
|
|
* - $menu_redirect = $base_url . 'contact' -> https://le_site_actuel.com/contact
|
|
* - $menu_redirect = $current_url -> https://le_site_actuel.com/la_meme_page
|
|
* - $menu_redirect = 'www.un_autre_site.net/contact' -> https://www.un_autre_site.net/contact
|
|
*/
|
|
function change_menu_logout($items){
|
|
$menu_title = 'special logout';
|
|
|
|
// quelques urls utiles :
|
|
$base_url = home_url();
|
|
$current_url = home_url( $_SERVER['REQUEST_URI'] );
|
|
|
|
$menu_redirect = '';
|
|
foreach($items as $item){
|
|
if( $item->title === $menu_title){
|
|
$item->url = wp_nonce_url( wp_logout_url( $menu_redirect ), 'log-out' );
|
|
}
|
|
}
|
|
return $items;
|
|
}
|
|
add_filter('wp_nav_menu_objects', 'change_menu_logout');
|
|
|
|
|
|
?>
|