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 的代码 }
如上。