Код для загрузки изображения на сайт WordPress.
function upload_image($file, $post_id) {
require_once('../wp-admin/includes/image.php');
require_once('../wp-admin/includes/file.php');
require_once('../wp-admin/includes/media.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');
// upload image to server
media_sideload_image($file['url'], $post_id);
// get the newly uploaded image
$attachments = get_posts( array(
'post_type' => 'attachment',
'number_posts' => 1,
'post_status' => null,
'post_parent' => $post_id,
'orderby' => 'post_date',
'order' => 'DESC',)
);
// returns the id of the image
return $attachments[0]->ID;
}
$result1 = attach_image_url('http://www.americanmattress.com/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/p/a/parmelee_fm2.jpg','0');
print_r($result1);
Вот проблема:
Я получаю следующую ошибку:
Неустранимая ошибка: require_once (): сбой открытия обязателен
‘ABSPATHwp-админ / включает / media.php’
(Include_path = ‘: / Opt / Alt / php54 / USR / доли / груша: / Opt / Alt / php54 / USR / доли / PHP’)
Сообщение об ошибке
Не удалось открыть обязательное ‘ABSPATHwp-admin / includes / media.php’
Предполагает, что ABSPATH не определен. открыто wp-load.php
в корне, и убедитесь,
define( 'ABSPATH', dirname(__FILE__) . '/' );
установлено. Если так, то используйте их для безопасности вместо относительных каталогов:
require_once(ABSPATH . 'wp-admin/includes/media.php');
require_once(ABSPATH . 'wp-admin/includes/file.php');
require_once(ABSPATH . 'wp-admin/includes/image.php');
Других решений пока нет …