我对未附加的附件有问题。我使用图像。php显示Wordpress图像库。我总是显示“大图像”(对于当前单击的图像)。。。在这张图片下,我展示了那个图库中的其他拇指。
我使用此代码显示“大”图像:
$img_attachment = wp_get_attachment_image_src($post->ID, \'medium\');
$img_height = $img_attachment[2];
$img_full = wp_get_attachment_image_src($post->ID, \'large\');
<div style="text-align:center">
<img src="<?php echo $img_attachment[0]; ?>"/>
</div>
我用这个代码来显示该图库中其余的拇指:
$gallery_shortcode = \'[gallery id="\' . intval( $post->post_parent ) . \'" columns="4"]\';
$gallery_content = do_shortcode($gallery_shortcode);
echo $gallery_content;
问题是什么?问题是Wordpress使用图像。php文件也用于未附加的图像。所以,如果你有5千张未附加的图像,而有人从谷歌来到其中一张未附加的图像(因为谷歌也收集未附加的图像,无论你是否习惯这样),那么图像。php文件将显示类似“大图像”的图像,并且在该大图像下,他将显示所有未访问的图像。。。因此,他将在一页上列出所有5千张图片!
我认为有两种解决方案。
以某种方式检测图像是否未附加到任何帖子。。。如果这是真的,那么就不要在下面显示拇指库,或者我需要在代码的第二部分做一些更改来解决这个问题,怎么做?
最合适的回答,由SO网友:birgire 整理而成
对于未连接的图像post_parent
中的列wp_posts
表,其值为0
.
在这种情况下,您的库短代码是:
[gallery id="0" columns="4"]
也就是说你在打电话
get_children()
具有
post_parent
像
0
.
例如,您可以使用gallery快捷码回调gallery_shortcode()
直接:
if( $parent_id = $post->post_parent )
{
echo gallery_shortcode(
[
\'id\' => (int) $parent_id,
\'columns\' => 4
]
);
}
其中,我们仅显示附加图像的库。