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

编辑于:2021年12月21日
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 的代码
}

如上。

相关推荐