Wordpress 如何获取非图像文件类型的附件ID?

Wordpress 如何获取非图像文件类型的附件ID?,wordpress,attachment,Wordpress,Attachment,我发现了大量的教程/代码示例,它们为您提供了获取和回显图像附件ID的代码,但没有一个可以用于其他任何东西,例如Zip和Rar归档文件,这正是我正在使用的 有人知道如何从WordPressattachment.phppage中获取并回显文件的ID(在本例中为Zip存档)吗?奇怪的是,通过single.php尝试获取Zip存档的ID似乎很简单,但我真的很难从attachment.php中解决这个问题 真的不明白为什么WordPress有一个内置的get_post_缩略图_id()用于图像,但不适用于

我发现了大量的教程/代码示例,它们为您提供了获取和回显图像附件ID的代码,但没有一个可以用于其他任何东西,例如Zip和Rar归档文件,这正是我正在使用的

有人知道如何从WordPress
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文件中