附件是一种特殊的帖子类型,其中包含通过WordPress媒体上传系统上传的文件的信息,例如其描述和名称,可以通过多个帖子类型 – 附件模板文件显示。
对于图像,作为示例,附件发布类型链接到元数据信息,关于图像的大小,生成的缩略图,图像文件的位置,HTML替代文本以及从嵌入在图像中的EXIF数据获得的甚至信息 。
提示:利用附件模板获取上传的其他元数据信息,帮助SEO工作。
如模板层次结构所示,您可以通过多个模板文件按照后退顺序显示附件:
- MIME_type.php and a subtype.php 它可以是任何MIME类型(例如:image.php,video.php,application.php)。 对于text/plain,使用以下路径(顺序):
- text_plain.php
- plain.php
- text.php
- attachment.php
- single-attachment.php
- single.php
- singular.php
- index.php
MIME_type.php
附件由模板文件根据其MIME类型提供。 例如,如果您的附件是图像,您可以通过创建一个image.php模板文件来自定义他们的显示方式。 具有image_ *的post_mime_type的所有图像将通过您的image.php模板文件呈现。
附件还支持使用mime subtype.php文件。 要继续使用图像示例,您可以进一步自定义主题,不仅支持image.php文件,还支持jpg.php子类型文件。
Attachment.php
附件页面(attachment.php)是具有附件类型的单个帖子页面,通过创建一个attachment.php生成。 就像一个单独的页面,专门针对您的文章,附件页面为您的主题中的附件提供了专门的页面。
创建附件页面就像创建一个attachment.php文件一样简单。 attach.php文件包含与single.php post页面相似的代码。
1 2 3 4 5 6 7 8 9 10 11 12 |
<div <span class="hljs-class"><span class="hljs-keyword">class</span></span>=<span class="hljs-string">"entry-attachment"</span>> <span class="xml"><span class="php"><span class="hljs-meta"><?php</span> $image_size = apply_filters( <span class="hljs-string">'wporg_attachment_size'</span>, <span class="hljs-string">'large'</span> ); <span class="hljs-keyword">echo</span> wp_get_attachment_image( get_the_ID(), $image_size ); <span class="hljs-meta">?></span></span> <span class="php"><span class="hljs-meta"><?php</span> <span class="hljs-keyword">if</span> ( has_excerpt() ) : <span class="hljs-meta">?></span></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"entry-caption"</span>></span> <span class="php"><span class="hljs-meta"><?php</span> the_excerpt(); <span class="hljs-meta">?></span></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span><span class="hljs-comment"><!-- .entry-caption --></span> <span class="php"><span class="hljs-meta"><?php</span> <span class="hljs-keyword">endif</span>; <span class="hljs-meta">?></span></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span></span><span class="xml"><span class="hljs-comment"><!-- .entry-attachment --></span> </span> |
参考方法
- get_attachment_template() : 检索当前或父模板中的附件模板路径。