2017-07-10 19 views
0

我有一个带有注销链接的上层导航菜单,当我点击它时,弹出一个消息,询问我是否确定要注销。我如何绕过这条信息,彻底删除它有自动注销到主页?我可以在注销菜单链接中加入什么链接?如何绕过wordpress,您确定要注销邮件woocommerce,并注销到hompage?

目前,它是这样的:http://website.com/my-account/customer-logout/

+0

这是一个重复:https://wordpress.stackexchange.com/questions/67336/how-to-log -out-without-confirmation-do-you-really-want-to-log-out –

+0

此外,你还没有展示你如何设计URL来注销。如果您手动将其添加到导航菜单中,则无法使用下面的答案。 –

回答

1

这也许是因为你忘了在URL中neccessary随机数,这是在WP-login.php中被检查:

case 'logout' : 
check_admin_referer('log-out'); 
... 

您应该使用wp_logout_url以便检索包含随机数的URL。如果你想重定向到一个定制URL,只是把它作为一个参数:

<a href="<?php echo wp_logout_url('/redirect/url/goes/here') ?>">Log out</a> 

另一件事,你也可以使用wp_loginout产生包括翻译的链接给你:

echo wp_loginout('/redirect/url/goes/here'); 

That'它。 此致敬礼。

+0

由于OP建议他们可能手动将其添加到他们的导航菜单(而不是通过代码),因此您可能在解决问题时也解决了这个问题。 –

+0

这个答案来自这里:https://wordpress.stackexchange.com/a/67342/20963 – David

0

由于重复从一个网站允许到另一个,我在原有基础上的工作在这里张贴这样的回答:https://wordpress.stackexchange.com/a/156261/11704

根据您的问题,这听起来像你想Log Out链接出现在你的资产净值菜单。

为了做到这一点,并为该链接包含适当的NONCE(在你的情况下,这是缺少的,这就是为什么“你确定要注销吗?”消息出现),你需要创建一个插件或修改你的主题。

下面的代码添加到您的自定义插件文件,或者你的主题functions.php文件:

// hook into WP filter for nav items 
add_filter('wp_nav_menu_items', 'my_loginout_menu_link', 10, 2); 

// modify links in nav menu 
function my_log_in_out_menu_link($items, $args) { 
    // only do this if it's the "main" navigation 
    if ($args->theme_location == 'primary') { 
     // if the user is logged in, add a log out link 
     if (is_user_logged_in()) { 
     // use the official WP code to get the logout URL. 
     // passed-in argument will cause it redirect to home page 
     $items .= '<li class="log-out"><a href="'. wp_logout_url(home_url('/')) .'">'. __("Log Out", "your_themes_i18n_slug") .'</a></li>'; 
     } else { 
     // if the user is NOT logged in, add a log in link 
     $items .= '<li class="log-in"><a href="'. wp_login_url(get_permalink()) .'">'. __("Log In", "your_themes_i18n_slug") .'</a></li>'; 
     } 
    } 

    return $items; 
}