附件是一种特殊的文章类型,用于存储通过 WordPress 媒体上传系统上传的文件的相关信息,比如文件的描述和名称,这些信息可以通过多个 文章类型 – 附件模板文件来显示。

以图片为例,附件这种文章类型会关联到各种元数据信息,包括图片的大小、生成的缩略图、图片文件的位置、HTML 描述文本,甚至是从图片中嵌入的 EXIF 数据中获取的信息。利用附件模板来获取更多上传文件的元数据信息,有助于提升 SEO 效果。

如 模板层级结构所示,可以通过多个模板文件按顺序显示附件内容:

  1. MIME_type.php 和 subtype.php
    可以是任何 MIME 类型(例如:image.php、video.php、application.php)。对于 text/plain 类型,则按以下顺序使用路径:
    1. text_plain.php
    2. plain.php
    3. text.php
  2. attachment.php
  3. single-attachment.php
  4. single.php
  5. singular.php
  6. index.php

MIME_type.php

附件会根据其 MIME 类型由相应的模板文件来呈现。例如,如果你的附件是图片,就可以通过创建 image.php 模板文件来自定义图片的显示方式。所有 post_mime_type 为 image/* 的图片都会通过你的 image.php 模板文件来渲染。

附件还支持使用 MIME subtype.php 文件。继续以图片为例,你可以进一步自定义主题,使其不仅支持 image.php 文件,还支持 jpg.php 这样的子类型文件。

Attachment.php

附件页面(attachment.php)是一种文章类型为附件的单篇文章页面,是通过创建 attachment.php 文件来生成的。就像专门用于展示文章的 单篇文章页面一样,附件页面也为主题中的附件提供了专门的展示页面。

创建附件页面与创建一个 attachment.php 文件一样简单。该文件中的代码与 single.php 文章页面的代码类似。

<div class="entry-attachment">
	<?php
	$image_size = apply_filters( 'wporg_attachment_size', 'large' );
	echo wp_get_attachment_image( get_the_ID(), $image_size );
	?>

	<?php if ( has_excerpt() ) : ?>
		<div class="entry-caption">
			<?php the_excerpt(); ?>
		</div><!-- .entry-caption -->
	<?php endif; ?>
</div><!-- .entry-attachment -->

函数参考