在POST视图中设置自定义附件样式

时间:2013-06-06 作者:Michał Lach

我正在寻找简单的样式列表。post中的文档附件。例如,我想把<li></li> 标记并进行适当的样式设置。

到目前为止,我的帖子内容是这样的:

 <?php
              query_posts(\'cat=13\');
              while (have_posts()) : the_post();
              the_content();
              endwhile;
            ?>

1 个回复
SO网友:kaiser

检索附件

core中有一个非常未知但方便的功能:get_children();, 它接受一个参数数组。其中之一是post_mime_type.

$attachments = get_children( array(
    \'post_parent\'    => get_the_ID(),
    \'post_type\'      => \'attachment\', 
    \'numberposts\'    => -1,
    \'post_status\'    => \'publish\',
    \'post_mime_type\' => \'application/msword\'
) );
如果您不确定文档文件的MIME类型,只需调用

var_dump( get_post_mime_type( get_the_ID() ) );
在您的single.php (或显示单个附件的任何主题模板,以查看确切的MIME类型。

以下是MS Word文件可能的MIME类型的不完整列表:

.ext  | MIME Type
-------------------------------------------------------------------------------
.doc  | application/msword
.dot  | application/msword
.docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document
.dotx | application/vnd.openxmlformats-officedocument.wordprocessingml.template
.docm | application/vnd.ms-word.document.macroEnabled.12
.dotm | application/vnd.ms-word.template.macroEnabled.12
然后,我们可以为他们拼凑出一个列表:

printf(
    \'<ul><li></li></ul>\',
    join( \'</li><li>\', wp_list_pluck( \'post_title\', $attachments ) )
);

结束

相关推荐

how to edit attachments?

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