Позоваване на директория в друга папка wordpress image.php

Код за качване на изображение в сайта на 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);

Ето го проблема:

  • Функцията се намира в RootWPFolder/Somefolder/ThisFunction.php
  • Необходимите файлове са в RootWPFolder/wp-admin/includes/file.php

Получавам следната грешка:

Фатална грешка: require_once(): Неуспешно отваряне изисква "ABSPATHwp-admin/includes/media.php" (include_path='.:/opt/alt/php54/usr/share/pear:/opt/alt/php54/usr/share /php')


person startupking1    schedule 20.04.2015    source източник
comment
file.php зарежда, но не и media.php? Звучи сякаш media.php е на грешното място, защото медиите са след файла по начина, по който сте ги включили   -  person Drakes    schedule 20.04.2015
comment
Изглежда нито един от трите файла не се зарежда.   -  person startupking1    schedule 20.04.2015
comment
Отворете wp-load.php в корена, намерете дали define( 'ABSPATH', dirname(__FILE__) . '/' ); е зададено. Ако е така, използвайте вашите редове за коментар   -  person Drakes    schedule 20.04.2015


Отговори (1)


Съобщението за грешка

Неуспешно отваряне изисква „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');
person Drakes    schedule 20.04.2015
comment
Уверих се, че е дефиниран и се опитах да използвам командите require_once, без успех - person startupking1; 20.04.2015
comment
Имате ли нещо против да публикувате съобщението си за грешка още веднъж, когато потвърдите, че ABSPATH е зададен в wp-load.php? Загрижен съм, че ABSPATH не е дефиниран по някакъв начин - person Drakes; 23.04.2015