希望在库中显示带有特定于文件类型的徽标的非图像文件

时间:2012-05-05 作者:Dan

当我第一次开始调查这件事的时候,File Gallery 让我离解决问题更近了。唯一的问题是,当我上传文件时,插件只显示通用的非图像图标。

是否有人知道一个预先存在的插件,它可以与文件库一起工作,或者代替它来实现特定于文件类型的徽标(例如,我上载一个.doc文件,然后插件显示一个MS Word徽标)。

如果没有一个现成的插件,那么尝试手工制作解决方案的好起点是什么?

提前感谢!

注意:这最初是在wordpress上发布的。组织支持论坛here, 但由于没有得到回应,我想我应该在这里试试运气

2 个回复
最合适的回答,由SO网友:fuxia 整理而成

WordPress具有本机功能wp_mime_type_icon() 在里面wp-includes/post.php 您可以使用的。

基本示例:

// $attachment should be a full post object 

if ( wp_attachment_is_image( $attachment->ID ) )
{
    echo wp_get_attachment_image(
        $attachment->ID,
        array( 480, 900 ),
        FALSE,
        array ( \'class\' => \'aligncenter\' )
    );
}
else
{
    echo \'<img src="\' . wp_mime_type_icon( $attachment->post_mime_type ) . \'">\';
}
查看wp-includes/images/crystal/ 对于可用的文件类型图标:

存档音频代码默认文档交互式电子表格文本视频enter image description here

您可以设置自己的图像目录和过滤器\'icon_dir\' 对于本地路径和\'icon_dir_uri\' 以便URI允许WordPress使用您的图像
只更改单一文件过滤器\'wp_mime_type_icon\':

apply_filters( \'wp_mime_type_icon\', $icon, $mime, $post_id )

SO网友:Wyck

我认为,如果不修改插件代码,您将无法将其与另一个gallery插件配合使用,但您可以通过编写插件/函数或使用模板页轻松完成这一任务。

你能做的就是使用get_children 抓住post_mime_type, 在你的例子中,一个简单的例子是,

get_children( \'post_type=attachment&post_mime_type=doc\' );
//assuming your using ms .doc files.
一旦有了mime类型,就可以使用wp_get_attachment_link 不幸的是,要创建链接$icon 参数是布尔值,因此它不允许您添加自己的图标,您必须echo 输出要使用的图标的实际url。

http://codex.wordpress.org/Function_Reference/get_children
http://codex.wordpress.org/Function_Reference/wp_get_attachment_link
http://tgrayimages.com/automate-file-attachments-on-your-wordpress-posts/

结束

相关推荐

Archive Thumbnail Gallery

我正在尝试创建一个存档页面,其中包含我所有帖子的列表以及缩略图和下面的小摘录。有点像这家伙在做什么http://www.globinch.com/2010/11/01/how-to-create-wordpress-thumbnail-based-post-archives/comment-page-1/#comment-36825实际上,我遵循了他的方法,经过一番周折后发现,他正在使用自定义字段thumb值调用thumbs我希望从我的特色缩略图图像中提取缩略图,因为我不想进入每个帖子并添加缩略图。所以基