首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Wordpress -如何检测当前页面是否为登录页面

Wordpress -如何检测当前页面是否为登录页面
EN

Stack Overflow用户
提问于 2011-03-11 07:00:19
回答 4查看 26.8K关注 0票数 22

如果是登录页面,有没有比使用全局变量$pagenow更好的方法来检测当前页面,就像is_admin()函数一样?

if ($pagenow != 'wp-login.php' && !is_admin())
{
    // Do something
}

有一个带有getter get_current_screen() (在/wp-admin/includes/template.php中声明)的全局变量$current_screen,但它始终等于null

#15686 (Detect the current page template tag) – WordPress Trac上,它显示通常使用$pagenow,但我认为这不是比较非动态页面与文件名而不是函数(如管理页面)的好方法。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-05 12:31:59

虽然我倾向于同意其他人关于需要一个函数is_login_page()或类似的东西,但我在https://wordpress.stackexchange.com/questions/12863/check-if-were-on-the-wp-login-page找到了似乎是最好的答案,我用它做了以下几点:

<?php
function is_login_page() {
    return in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'));
}
票数 52
EN

Stack Overflow用户

发布于 2011-03-11 10:23:19

你不能解释一下你要用它做什么吗?所以我可以判断你是否应该使用wordpress钩子来编写代码。

或者,您可以使用绝对uri,只需将其与wp-login.php匹配即可。

<?php
$uri = $_SERVER['REQUEST_URI'];

echo $uri;

?>

票数 0
EN

Stack Overflow用户

发布于 2012-12-21 01:23:21

以防你想要尽可能的不依赖于WP;例如,在一个插件中,将未来的变化保持在范围之外。您可以使用类似以下内容:

function is_login_page() {
    return !strncmp($_SERVER['REQUEST_URI'], '/wp-login.php', strlen('/wp-login.php'));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5266945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档