問題描述

如何檢查當前頁面是否為wp-login.phpwp-signup.php

有比$_SERVER['REQUEST_URI']更優雅的解決方案嗎?

最佳解決方案

使用全球$pagenow,它是WordPress在執行時的常見全域性集:

if ( $GLOBALS['pagenow'] === 'wp-login.php' ) {
    // We're on the login page!
}

您還可以檢查登入頁面的型別,例如註冊:

if ( $GLOBALS['pagenow'] === 'wp-login.php' && ! empty( $_REQUEST['action'] ) && $_REQUEST['action'] === 'register' ) {
    // We're registering
}

以下程式碼被認為是遺留的,不應該被使用(wp-register.php已被棄用,後來被刪除了一段時間):

if ( in_array( $GLOBALS['pagenow'], array( 'wp-login.php', 'wp-register.php' ) ) )
    run_my_funky_plugin();

參考文獻

注:本文內容整合自Google/Baidu/Bing輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。