无需重新生成注销URL$logout_url
因为传递给函数的第一个参数已经是注销URL罢工>
基本上,只需重命名$force_reauth
到$logout_url
并移除$logout_url = wp_nonce_url( ... );
:罢工>
function my_custom_logout_url($logout_url, $redirect=null){ // rename the $force_reauth
// And remove this:
//$logout_url = wp_nonce_url(site_url(\'logout.php\')."?action=logout", \'log-out\' );
<罢工>其次,罢工>你的
add_filter()
调用缺少第四个参数(即传递给函数的参数数):
add_filter(\'logout_url\', \'my_custom_logout_url\', 10, 2); // like this
add_filter(\'logout_url\', \'my_custom_logout_url\'); // not this
如果您确实想将注销URL设置为example.com/logout.php
(注意logout.php
), 那么您的代码实际上是好的(除了add_filter()
上面的内容)。但如果您的代码仍在显示wp-login.php
, 然后可能有另一个代码(可能是插件)正在过滤/更改注销URL。在这种情况下,您可以将回调优先级更改为更大的数字,如20
:
// The third parameter is the callback priority.
add_filter(\'logout_url\', \'my_custom_logout_url\', 20, 2); // the priority is now 20