Wordpress 如何获取非图像文件类型的附件ID?
我发现了大量的教程/代码示例,它们为您提供了获取和回显图像附件ID的代码,但没有一个可以用于其他任何东西,例如Zip和Rar归档文件,这正是我正在使用的 有人知道如何从WordPressWordpress 如何获取非图像文件类型的附件ID?,wordpress,attachment,Wordpress,Attachment,我发现了大量的教程/代码示例,它们为您提供了获取和回显图像附件ID的代码,但没有一个可以用于其他任何东西,例如Zip和Rar归档文件,这正是我正在使用的 有人知道如何从WordPressattachment.phppage中获取并回显文件的ID(在本例中为Zip存档)吗?奇怪的是,通过single.php尝试获取Zip存档的ID似乎很简单,但我真的很难从attachment.php中解决这个问题 真的不明白为什么WordPress有一个内置的get_post_缩略图_id()用于图像,但不适用于
attachment.php
page中获取并回显文件的ID(在本例中为Zip存档)吗?奇怪的是,通过single.php
尝试获取Zip存档的ID似乎很简单,但我真的很难从attachment.php
中解决这个问题
真的不明白为什么WordPress有一个内置的get_post_缩略图_id()代码>用于图像,但不适用于任何其他类型的文件。请参考上的示例(讽刺的是,给出了您的注释!)
基本上,您可以为所有附件设置一个get_posts()
查询。然后,您只需要在文件类型扩展名上过滤结果,或者如果您知道(并且记录正确),则使用WP\u Post.Post\u mime\u type
(该示例也会过滤掉特征图像/拇指…但您的过滤器无论如何都会处理这些)
但是,如果可以将MIME类型用作筛选器,则可以使用'post\u MIME\u types'
参数设置get\u posts()
args,以仅返回一个(或多个)特定MIME类型的附件。您可能希望查看附件的底层数据库条目,以检查如何记录这些条目,以便能够正确地与之匹配。我希望您的.zip文件是application/zip
,但在依赖它之前,我会仔细检查一下
比如说:
<?php
$args = array(
'post_type' => 'attachment',
'numberposts' => -1,
'post_status' => null,
'post_parent' => $post->ID,
'post_mime_type' => 'application/zip'
);
$attachments = get_posts( $args );
?>
谢谢您的回复,塞普斯特。我通过翻阅一份212主题的档案,找到了令人尴尬的简单答案;结果证明答案很简单,就像回声一样
<?php the_ID(); ?>
…在attachment.php文件中