wordpress编辑页面如何判断后台编辑页面id并执行操作

Published
August 24, 2022
浏览次数 :  5

最近开发一个企业官网,要通过admin_init来判断当前后台编辑页面的id并执行只在当前页面新增页面字段的操作。

原本框架是通过admin_init来新增meta字段的。这个相比add_meta_boxese权限更高,执行更优先,能避免不必要的错误。

wordpress内置很多的超级全局变量的,加上php自带的全局超级变量,可以用$GLOBALS打印出来。

比方说,你给admin_init挂载一个函数, show_current(). 你打印超级变量$GLOBALS ,你会获取到全部超级变量的数组。 打印$_server 变量, 就会获取到发送到服务器端的所有变量。

function show_current_admin_screen() {
var_dump($_SERVER);
}

add_action(‘admin_init’,’show_current_admin_screen’);

你会获取到一系列发送到服务器的参数,其中REQUEST_URI就是当前页面的url。然后你打散这个url获取到post后面的值就可以进行判定。

最简单的方法就是 通过$_REQUEST 方法。 wordpress后台任何操作写入数据都是发送到数据库进行写入,都有$_REQUEST 动作。

通过在函数里打印$_REQUEST你就会得到 当前的 ‘post’ 就是 当前id, 通过$_REQUEST[‘post’] 来判断页面进行操作即可。

不行的,上面的方法不行的,只是提供了一下思路。

要在特定页面实现字段添加,还是用add_meta_boxese好了。 因为 执行request的时候才添加metabox 后面保存的时候就会出现问题无法存储。


Top