在图像的附件页上,我想在其;“大型”;大小当前行为显示;“中等”;调整图像大小。
我正在使用我创建的主题underscores. 看见my full theme code on Github.
用于显示附件页的模板文件为single.php (我使用Show Current模板插件验证了这一点)。在附件页上输出图像的模板文件的相关部分是(在template-parts/content-attachment.php):
the_content(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( \'Continue reading<span class="screen-reader-text"> "%s"</span>\', \'vanguard-history\' ),
array(
\'span\' => array(
\'class\' => array(),
),
)
),
wp_kses_post( get_the_title() )
)
);
。。。基本上就是对
the_content(). 正在查看
developer docs for the_content(), 这里似乎没有设置附件大小的参数。
我在一个示例附件页的HTML中看到的是:
<div class="entry-content">
<p class="attachment">
<a href="https://www.mike-eng.com/sandbox/vanguard-history/content/uploads/2021/11/Myron_Rosander_Addressing_2001_Santa_Clara_Vanguard_on_Final_Day_of_Tour.jpg">
<img src="https://www.mike-eng.com/sandbox/vanguard-history/content/uploads/2021/11/Myron_Rosander_Addressing_2001_Santa_Clara_Vanguard_on_Final_Day_of_Tour-300x225.jpg" class="attachment-medium size-medium" alt="" loading="lazy" srcset="https://www.mike-eng.com/sandbox/vanguard-history/content/uploads/2021/11/Myron_Rosander_Addressing_2001_Santa_Clara_Vanguard_on_Final_Day_of_Tour-300x225.jpg 300w, https://www.mike-eng.com/sandbox/vanguard-history/content/uploads/2021/11/Myron_Rosander_Addressing_2001_Santa_Clara_Vanguard_on_Final_Day_of_Tour-768x576.jpg 768w, https://www.mike-eng.com/sandbox/vanguard-history/content/uploads/2021/11/Myron_Rosander_Addressing_2001_Santa_Clara_Vanguard_on_Final_Day_of_Tour.jpg 1024w" sizes="(max-width: 300px) 100vw, 300px" width="300" height="225">
</a>
</p>
</div>
请注意“的类别”;附件介质“;和;“中等大小”;以及我的;“中等”;介质大小。
在哪里可以更改附件页上显示的大小,从;“中等”;“到”;大“;?我在任何地方都找不到这样的背景。此外,我还想显示附件的标题(在媒体库中设置)。
此外,在我创建的一些旧的WordPress站点中,默认显示是大的,并且他们还使用了\\u content()来显示图像。我不知道这里有什么不同。
是否有WordPress过滤器来设置附件页上显示的默认附件大小?如果是,是什么?
WordPress 5.8.2
Update:我在中验证this comment thread 那个vanguard_history_post_thumbnail()
是return
ing公司before the function outputs any HTML, 看起来确实如此the_content()
是显示附件图像的内容。然而,奇怪的是,get_the_content()
正在返回空字符串。
Update 2:我删除了vanguard_history_post_thumbnail()
在里面content-attachment.php. 这是从以前的模板零件文件中复制过来的一条鲱鱼。附件图像仍在显示,但没有显示。
最合适的回答,由SO网友:Michelle 整理而成
我已经测试了以下内容,它对我有效。这将使用图像标题作为“alt”文本,并在图像下方显示图像标题。在内容附件中使用此选项。php,替换当前的the\\u content函数:
$attachment_id = get_the_ID();
// If this attachment is an Image, show the large size
if ( wp_attachment_is_image( $attachment_id ) ) {
$attachment_image = wp_get_attachment_image($attachment_id, \'\', \'\', array(\'class\' => \'post-thumbnail\', \'size\' => \'large\', \'alt\' => the_title_attribute(array(\'post\'=>$attachment_id,\'echo\'=>0)) ) );
echo $attachment_image;
echo \'<div class="caption">\' . get_the_excerpt() . \'</div>\';
} else {
// Normal display for other mime types like PDFs
the_content(
sprintf(
wp_kses(
__( \'Continue reading<span class="screen-reader-text"> "%s"</span>\', \'vanguard-history\' ),
array(
\'span\' => array(
\'class\' => array(),
),
)
),
wp_kses_post( get_the_title() )
)
);
}