我在主标题菜单中有一个注销链接,当你点击链接注销时,你会被重定向到页面,询问你是否真的想注销。我知道它这样做是因为菜单URL中没有nonce。
我的问题是:是否可以在编辑菜单屏幕的CMS外观>菜单中添加nonce?url类似于:example.com/wp-login.php?action=logout&redirect_to=http://example.com/myaccount/&_wpnonce=
只是为了好玩我试着加上wp_create_nonce(\'logout\')
到最后,但这当然行不通。
如果不可能,是否有其他方法绕过“是否确实要注销”屏幕?
最合适的回答,由SO网友:Duck of Death 整理而成
只需添加过滤器:
function change_menu($items){
foreach($items as $item){
if( $item->title == "Log Out"){
$item->url = $item->url . "&_wpnonce=" . wp_create_nonce( \'log-out\' );
}
}
return $items;
}
add_filter(\'wp_nav_menu_objects\', \'change_menu\');