我有以下短代码,用于获取该帖子的图像(该图像将位于名为该帖子的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
中对每个图像都显示了Followin错误,并且得到了以下图标:
我不知道为什么我的图像不显示图像,路径正确,图像在那里,完全不知道我缺少什么。这不是权限问题,因为我尝试给从/ uploads / ..等目录开始的目录授予755权限。
答案 0 :(得分:0)
我将假设您在问题中引用的URL实际上是https://yourdomain/wp-content/uploads/gallery/1658/wwg.jpg
,而不是https://path-to-theme/wp-content/uploads/gallery/1658/wwg.jpg
。对吧?
如果是这种情况,那么它应该能够打开该文件。我要检查的第一件事是您是否确实将文件放在了您认为的位置:/wp-content/uploads/gallery/1658/
如果文件实际上位于该文件夹中,并且您可以从浏览器访问https://yourdomain/wp-content/uploads/gallery/1658/wwg.jpg
,则我的下一个建议是检查导致该文件的每个文件夹的权限,并确保它们设置为755,然后确保文件设置为644。
Here are instructions on changing file permissions.
让我知道是否有帮助?
答案 1 :(得分:0)
我解决了这个问题。问题是我没有按照wp的要求上传图像,因此,即使图像位于文件夹中,也无法显示。因此,我不得不通过使用wp函数并指定mime_type等来更改上载它们的方式,以便wp可以将其元数据存储在它的db中,以便能够确认它们并在将来显示它们。