首页 > 解决方案 > 尝试在 Wordpress 中显示自定义文件夹中的图像时出现错误 404

问题描述

我有以下短代码,它获取该帖子的图像(将在名为帖子的 id 的文件夹中)并根据需要显示它们以呼应尽可能多的标签图像。

    session_start();
    $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.';

?>

问题是图像没有显示,我在浏览器的控制台中收到以下错误GET https://path-to-theme/wp-content/uploads/gallery/1658/wwg.jpg 404,每个图像我都得到这个图标:

图片

我不知道为什么我的图像没有显示图像,路径正确,图像在那里,完全不知道我错过了什么。这不是权限问题,因为我尝试为从 /uploads/.. 开始的目录授予 755 权限,依此类推,包括图像。

标签: phpwordpressimagegethttp-status-code-404

解决方案


我解决了这个问题。问题是我没有按照 wp 的要求上传图像,因此图像,即使它们在文件夹中,也无法显示。所以我不得不改变我上传它们的方式,通过使用 wp 函数并指定 mime_type 等,以便 wp 可以将它们的元数据存储在它的数据库中,以便能够确认它们并在将来显示它们。


推荐阅读