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

时间:2015-10-04 14:11:44

标签: php wordpress-plugin 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);

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

显然,codex代码有问题,或者它不适合在插件中使用(?)

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

2 个答案:

答案 0 :(得分:2)

如果它有帮助,jsut会遇到同样的问题,通过添加以下行来解决:

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

答案 1 :(得分:2)

如果您在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');

请参阅https://codex.wordpress.org/Function_Reference/media_sideload_image