2

画像の添付ファイル ID を取得してエコーするためのコードを提供するチュートリアル/コード例を非常に多く見つけましたが、Zip や Rar アーカイブなど、他のものと連携するものは 1 つもありません。私が取り組んできたこと。

attachment.phpWordPressページ内からファイル (この場合は Zip アーカイブ) の ID を取得してエコーする方法を知っている人はいますか? 奇妙なことに、Zip アーカイブの ID を 経由single.phpで取得するのは簡単に思えますが、これを から取得するのに本当に苦労していますattachment.php

WordPress に画像用のビルトイン機能があるget_post_thumbnail_id();のに、他の種類のファイルには何も利用できない理由が本当に理解できません。

4

2 に答える 2

1

コーデックス ページのThumb の横にある現在の投稿の Show All attachmentsの例を参照してください(皮肉なことに、あなたのコメントを考えると!) 。get_post_thumbnail_id()

基本的に、すべての添付ファイルget_posts()に対してクエリを設定します。次に、ファイルの種類の拡張子で結果をフィルタリングするか、それがわかっている (そして正しく記録されている) 場合は、.WP_Post.post_mime_typeget_post_mime_type()

(この例では、注目の画像/サムネイルも除外しています...ただし、フィルタはとにかくそれを処理します)。

ただし、MIME タイプをフィルターとして使用できる場合は、get_posts()args に引数を設定して'post_mime_types'、1 つ (または複数) の特定の MIME タイプの添付ファイルのみを返すことができます。適切に照合できるように、添付ファイルの基礎となるデータベース エントリを調べて、これがどのように記録されているかを確認することをお勧めします。あなたの .zip ファイルは .zipapplication/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 );

?>
于 2013-04-05T13:56:37.300 に答える
0

答えてくれてありがとう、セプスター。私は、TwentyTwelve テーマのファイルの 1 つを調べて、恥ずかしいほど簡単な答えを見つけることができました。答えはエコーするのと同じくらい簡単です...

<?php the_ID(); ?>

... attachment.php ファイル内。

于 2013-04-05T16:56:19.170 に答える