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

我想要修改 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' );

这里可能有什么问题?我有什么遗漏的吗?请协助。


慕妹3146593
浏览 51回答 1
1回答

慕斯王

那么,$_GET 返回什么? 您是否使用某些编辑帖子的插件,但不使用/传递此变量? 前面说了,浏览器地址url,返回这样的东西还是不? https://subdomain.w3host.com/wordpress/wp-admin/post.php?post=100&action=editPS: var_dump 在 $_GET['post'] 上返回 NULL,只是意味着有这样,一个PHP 注意:未定义索引: 帖子 变量不存在
打开App,查看更多内容
随时随地看视频慕课网APP