管理员中的Wordpress $ _GET ['post']返回NULL

时间:2020-09-04 14:30:46

标签: php wordpress get

我想在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 个答案:

答案 0 :(得分:0)

那么,$ _ GET返回什么呢? 您是否正在使用某些插件来编辑帖子,并且不使用/通过此变量? 如前所述,浏览器地址url是否返回这样的内容? saveAll(list)

PS: var_dump 在$ _GET ['post']上返回NULL,只是意味着有一个php 注意:未定义索引: post var不存在

相关问题