引用另一个文件夹wordpress image.php中的目录

时间:2015-04-20 00:41:50

标签: php wordpress file-upload path absolute-path

将图像上传到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管理员/包括/忽略原始”   (include_path中= ':/选择/ ALT / php54的/ usr /共享/梨:/选择/ ALT / php54的/ usr /共享/ PHP')

1 个答案:

答案 0 :(得分:0)

错误消息

  

需要打开失败' 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');