media_sideload_image 获取致命错误调用 C:\xampp\htdocs\project-name\wp-includes\capabilities.php 中未定义的函数 wp_get_current_user()

Avi*_*Avi 4 php wordpress

media_sideload_image()第一次尝试从插件实现并收到错误:

致命错误:在第 1441 行调用 C:\xampp\htdocs\project-name\wp-includes\capabilities.php 中未定义的函数 wp_get_current_user()

这是我正在使用的 PHP:

require_once( ABSPATH . '/wp-admin/includes\plugin.php');
require_once( ABSPATH . '/wp-admin/includes\media.php');
require_once( ABSPATH . '/wp-admin/includes\file.php');
require_once( ABSPATH . '/wp-admin/includes\image.php');

$url = "http://wordpress.org/about/images/logos/wordpress-logo-stacked-rgb.png";
$post_id = 1;
$desc = "The WordPress Logo";

$image = media_sideload_image($url, $post_id, $desc);
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,这是来自 Wordpress Codex 的代码,在我遇到其他错误后从论坛中添加了一些内容。然而,没有运气。

显然,codex 代码有问题,或者它可能不打算在插件中使用(?)

我最终要做的是获取图像并将其添加到媒体库和正在编辑的帖子中\直接添加。我很感激我能得到的任何帮助。谢谢

小智 9

如果在 wp-admin 区域之外,则需要添加

require_once(ABSPATH . 'wp-admin/includes/media.php');
require_once(ABSPATH . 'wp-admin/includes/file.php');
require_once(ABSPATH . 'wp-admin/includes/image.php');
Run Code Online (Sandbox Code Playgroud)

https://codex.wordpress.org/Function_Reference/media_sideload_image


小智 2

如果它可以帮助,只是有同样的问题,通过添加此行解决:

if(!function_exists('wp_get_current_user')) {
include(ABSPATH . "wp-includes/pluggable.php"); 
}
Run Code Online (Sandbox Code Playgroud)