正在wp-admin区域中检索作者ID

时间:2019-06-10 作者:Josh Calico

目前能够在前端显示文章作者ID,没有任何困难。在编辑帖子时,在/wp admin中返回ID被证明是很棘手的。以下是我目前掌握的情况:

$current_user_id = get_current_user_id(); // Get the current users ID
$author_id = get_post_field (\'post_author\', $post_id); // Get the author ID

if( is_user_logged_in() && $current_user_id == $author_id ) { 
    // wp-dashboard script
}
我尝试了其他几种获取用户ID的方法,但没有成功。通过主题的函数显示$current\\u user\\u id。php文件与其他php代码一起正常工作。可能在运行时没有加载ID。php加载?

1 个回复
最合适的回答,由SO网友:gdarko 整理而成

可以这样做,而不必依赖美元后全球。

if ( is_admin() ) {
    if( isset( $_GET[\'post\'] ) && isset( $_GET[\'action\'] ) && $_GET[\'action\'] === \'edit\' ) {
        $post_id = $_GET[\'post\'];
        $current_post = get_post($post_id);
        $author_id = $current_post->post_author;
    } 
}
查询字符串变量post 始终是post_id 您正在编辑,另外需要检查action 已设置查询变量,它等于edit.

此外,您还可以浏览get_current_screen() 函数可设置更高级的条件以提高安全性。

相关推荐

JavaScript/PHP-结束循环

我在PHP文件中嵌入了一个HTML表单,其中有一个onclick按钮,可以调用javascript函数。<form name=\"addStamp\"> Validation Code:<br> <input type=\"number\" name=\"inputcode\"><br> <input type=\"text\" name=\"message\" id=\"message\"><