我想要修改 WordPress 编辑帖子页面中的自定义字段,并且需要帖子 ID 才能执行此操作。我在functions.php 中有一个函数,当我手动输入帖子ID 时它工作正常。当我尝试从 URL 获取帖子 ID 但 $_GET['post'] 被证明是无用时,问题就出现了。 var_dump($_GET['post']) returns NULL、$global $post; var_dump($post->ID) returns NULL。该URL是正常的帖子编辑链接网址:http://mywebsite.com/wp-admin/post.php?post=435&action=edit我已经能够通过 admin_head 挂钩获取帖子 ID,但无法让它在我的其他函数中使用 set_query_var() 工作。下面看看我修改后的代码:add_action( 'admin_head', 'get_post_ID' );function get_post_ID() {global $post;$thePostID = 0;$pagenow = isset($GLOBALS['pagenow']) ? $GLOBALS['pagenow'] : null;if ( $pagenow == 'post.php' ) { $thePostID = $post->ID; set_query_var('my_post_id', $thePostID);}return $post->ID;}function get_admin_post_ID() { var_dump(get_query_var('my_post_id'));}add_action( 'template_redirect', 'get_admin_post_ID' );这里可能有什么问题?我有什么遗漏的吗?请协助。
1 回答
慕斯王
TA贡献1864条经验 获得超2个赞
那么,$_GET 返回什么? 您是否使用某些编辑帖子的插件,但不使用/传递此变量? 前面说了,浏览器地址url,返回这样的东西还是不? https://subdomain.w3host.com/wordpress/wp-admin/post.php?post=100&action=edit
PS: var_dump 在 $_GET['post'] 上返回 NULL,只是意味着有这样,一个PHP 注意:未定义索引: 帖子 变量不存在
- 1 回答
- 0 关注
- 96 浏览
添加回答
举报
0/150
提交
取消