WordPress 全局变量:$pagenow 判断后台页面位置,如 wp-login.php/post.php/post-new.php

WordPress 代码中有非常多的全局变量,$pagenow 是经常用到的一个,特别是在后台开发的时候,通过它,我们可以定位所在的位置。

$pagenow 定义

$pagenow 是在 wp-include/vars.php 中定义的,查看他的源代码,$pagenow 定义简单分成两种情况:

如果是前台页面,除了自定义的页面(比如feed页面),基本都是 index.php

涉及到后台的页面,就情况复杂的多,但是基本上可以从当前页面 url 最后的 php 文件获得,比如:日志编辑页面:post.php,日志新增页面:post-new.php,自定义页面基本都是:admin.php

如何使用 $pagenow

知道了全局变量 $pagenow 的时候,我们就可以在撰写后台插件的时候灵活使用它进行判断,比如下面的代码就是使用 $pagenow 来判断只有在文章编辑页面才添加 Meta Box:

add_action( 'add_meta_boxes', 'wpjam_post_options_meta_box', 10, 2 );
function wpjam_post_options_meta_box($post_type, $post) {
	global $pagenow;
	if($pagenow != 'post.php' && $pagenow != 'post-new.php') return;
	// 具体添加日志编辑页面 Meta Box 的代码
}

如上。

相关推荐

WordPress 获取当前页面 URL 地址的方法

WordPress 获取当前页面 URL 地址的方法

通过 WordPress 原生的函数来,或者自定义函数,都可以获取当前页面的 URL 地址。 1、用 WordPress 原生的函数来实现,代码如下: $current_url = home_url(add_query_arg(array())); 2、普遍适用的方法,代码如下: $current_url = home_url(add_query_arg(array(),$wp->request)); 3、直接在 WordPress 中加入如下代码: 然后 ...

WordPress 检测当前页面模板文件的路径

WordPress 检测当前页面模板文件的路径

WordPress 检测当前页面所使用的模板文件是什么?修改 wordPress 主题的时候,由于一个功能出现错误,需要修改主题源文件,但不知道这个功能代码是置于哪个模板文件内,那么该怎么查找这个页面是利用的哪个模板文件呢? 1.查找 wordpress 源文件:wp-includes\template-loader.php, 找到以下代码: else : $template = get_ ...

WordPress 函数:判断页面的类型,如首页、文章页、搜索页

WordPress 函数:判断页面的类型,如首页、文章页、搜索页

WordPress 由首页、文章页、搜索页和404页面等页面组成,当你想在特有页面显示、隐藏、替换和加载某些内容,需要使用页面判断函数来判断。比如在文章页且仅在文章页显示某些内容时,可以使用函数 is_single() 判断。 WordPress 内置非常丰富的页面判断函数,下面列出的判断函数,在何种条件下的输出都是true,此外这些函数 ...

WordPress 自定义修改:Logo的图片/链接/提示信息(tltle)/登录框内容和底部内容

WordPress 自定义修改:Logo的图片/链接/提示信息(tltle)/登录框内容和底部内容

通过 WordPress 的挂钩(hook),可以做很多自定义修改:Logo 图片/Logo 链接/Logo提示信息(tltle)/登录框内容/底部内容/和CSS。注:下文提到的所有代码,都是添加到主题的 funshions.php 文件的最后一个 ?> 的前面。 自定义 Logo 图片 制作一个名为 login_logo.png 的图片,放在主题下的 images 文件夹里(也可以根据自己的 ...

微信扫一扫,分享到朋友圈

WordPress 全局变量:$pagenow 判断后台页面位置,如 wp-login.php/post.php/post-new.php