WordPress 的全局变量 $pagenow 详解

2023-04-15 10:31:48 浏览数 (1)

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:

代码语言:javascript复制
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 的代码
}

0 人点赞