显示“大”图像尺寸并在附件页中显示标题

时间:2021-11-21 作者:Mike Eng

在图像的附件页上,我想在其;“大型”;大小当前行为显示;“中等”;调整图像大小。

我正在使用我创建的主题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()returning公司before the function outputs any HTML, 看起来确实如此the_content() 是显示附件图像的内容。然而,奇怪的是,get_the_content() 正在返回空字符串。

Update 2:我删除了vanguard_history_post_thumbnail() 在里面content-attachment.php. 这是从以前的模板零件文件中复制过来的一条鲱鱼。附件图像仍在显示,但没有显示。

1 个回复
最合适的回答,由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() )
        )
    );
}

相关推荐

无法扩展wp.media.view.AttachmentsBrowser

这里是WP开发的新手,如果我遗漏了一些简单的东西,请原谅我。。。我正在为媒体上载库编写一个插件,它需要在网格视图中获取选定的媒体项(用于拖放)。我知道媒体网格中的项目是动态生成的,所以我尝试扩展AttachmentsBrowser,并在initialize(). 然而initialize() 从未调用。!function(e) { var i = { init: function() { console.log("This is ca