2019-05-10 18:53 阅读 135


I have the following shortcode which gets the images of that post (that will be in a folder named as the post's id ) and displays them echoing as many tag images as needed.

    $postID = $_SESSION['post_ID'];
    $upload_dir = wp_upload_dir();
    $path = $upload_dir['basedir'].'/'.'gallery/'.$postID;

    if(file_exists($path)) {
        $pathFile = $path.'/*';
        $images = glob($pathFile);
        if(!empty($images)) {
            foreach($images as $image){
                $alt = end(explode('/', $image));
                echo '<img src="'.$image.'" alt="'.$alt.'" />';
        } else echo 'No hay imágenes.';

    } else echo 'No hay imágenes.';


The problem is that the images aren't displayed, i get the followin error in the brower's console GET https://path-to-theme/wp-content/uploads/gallery/1658/wwg.jpg 404, per every image and i get this icon:


I have no idea why my images aren't displayed the images, the path is correct, the images are there, complitely no idea what I'm missing. It's not a permissions problem as i tried giving 755 permissions to the directories starting from /uploads/.. and so on including the images.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    dongtan1845 dongtan1845 2019-06-13 10:12

    I fixed the problem. The issue wa sthat i wasn't uploading the images as wp wants me to, therefore the images, even they were in the folder, couldn't be displayed. So I had to change the way i uploaded them, by using wp functions and specifying the mime_type etc so wp could store their metadata in it's db in order to be able to acknowledge them and display them in a future.

    点赞 评论 复制链接分享
  • dttphb59319 dttphb59319 2019-05-10 22:06

    I'm going to assume that the URL you reference in your question is actually https://yourdomain/wp-content/uploads/gallery/1658/wwg.jpg and not https://path-to-theme/wp-content/uploads/gallery/1658/wwg.jpg. Right?

    If that's the case, then it should be able to pull open that file. The first thing I'd check is whether you actually have the file located where you think it is: /wp-content/uploads/gallery/1658/

    If the file is actually in that folder, and you can access it from your browser at https://yourdomain/wp-content/uploads/gallery/1658/wwg.jpg then my next suggestion would be to check the permission of each of the folders leading up to the file and make sure they are set to 755, and then make sure your file is set to 644.

    Here are instructions on changing file permissions.

    Let me know if that helps?

    点赞 评论 复制链接分享