与附件MIMETYPE顺序混淆

时间:2014-12-30 作者:Hennady Kovrizhenko

假设我有MIME类型的附件image/png, image/jpegimage/gif. 我有模板文件image.phpgif.php 在我的主题文件夹中。因此,这意味着我想定制一个页面,显示text/gif MIME类型。让我们假设attachment.php 用于显示其余的MIME类型,我不能将其用于image/everything_except_gif. 但应用程序永远不会到达gif.php 文件(或image_gif.php) 尽管它描述了一个比image.php.

现在,如果我们看看分类法,一切都正常。文件taxonomy-sometax-term8.php 将使用而不是taxonomy-sometax.php, 因为它描述了一个更具体的案例。

我做了一次搜索,找到了一个创建插件的建议,但是为什么不让其他查询类型像附件那样运行,让我们为分类法/类别/页面/其他一切编写插件呢?

1 个回复
SO网友:Rarst

是的,这看起来确实像是模板层次结构中的一个失误。

最容易描述的情况可能是在image.php, 沿着(参见get_attachment_template() 对于mime类型检索):

if( \'gif\' === $subtype ) {

    include \'gif.php\';
}
else {

    // generic image template
}
对于更复杂的逻辑,只需忽略本机顺序,并为这个层次结构分支使用自定义顺序来覆盖它,这可能是值得的。

结束

相关推荐

how to edit attachments?

在将例如文件附加到帖子时,如何在事后编辑/删除它们?在帖子编辑器中找不到任何内容。谢谢