我看到这个错误
Notice: Undefined index: action in /home/olexywro/public_html/wp-content/plugins/code-snippets/php/snippet-ops.php(352) : eval()\'d code on line 6
在我的登录页面中,包含以下代码片段:
// Redirect Registration Page
function my_registration_page_redirect()
{
global $pagenow;
if ( ( strtolower($pagenow) == \'wp-login.php\') && ( strtolower( $_GET[\'action\']) == \'register\' ) ) {
wp_redirect( home_url(\'/zarejestruj-sie/\'));
}
}
add_filter( \'init\', \'my_registration_page_redirect\' );
谁能告诉我为什么?
此代码的第6行:
if ( ( strtolower($pagenow) == \'wp-login.php\') && ( strtolower( $_GET[\'action\']) == \'register\' ) ) {
最合适的回答,由SO网友:Jacob Peattie 整理而成
您正在这样做:
strtolower( $_GET[\'action\'])
但你没有检查
$_GET[\'action\']
首先存在。您不能指望它被设置,因为当您访问wp登录时。php,它没有
?action=
但这个钩子仍然会激发。
所以您需要添加isset( $_GET[\'action\'] )
根据您的情况:
if (
strtolower($pagenow) == \'wp-login.php\' &&
isset( $_GET[\'action\'] ) &&
strtolower( $_GET[\'action\'] ) == \'register\'
) {
}