2009-09-02 24 views
8

ハウディ!投稿のメディアライブラリにあるすべての画像ファイルを一覧表示する方法を探しています。Wordpress:投稿メディアライブラリ内のすべての画像を照会

投稿の作成中または編集中にファイルがアップロードされた場合、そのファイルが何らかの形で投稿に関連付けられている場合、このデータからリストを作成できます。

私はnext_image_link()/ previous_image_link();と思っています。テンプレートタグは私が見つけたものに近いです。

私はこれが近いはずだと思う:

$query = 'SELECT * FROM `wp_posts` 
WHERE `post_parent` = \''.$_GET['post_id'].'\' 
AND `post_mime_type` = \'image/jpeg\' 
ORDER BY `menu_order` ASC'; 

感謝。

+3

は** EVERこれをしない**、あなたのギャラリーの画像を取得する方法のサンプルコードです - [SQLインジェクション](https://en.wikipedia.org/wiki/SQL_injection)を使用してデータベースやアプリケーションを危険にさらすように自分自身を設定しています。クライアントから取得したデータから直接データベースクエリ文字列を作成するときは、間違っている*。常に[パラメータ化されたクエリ](http://stackoverflow.com/a/60496/41688)を使用してください。 – BryanH

答えて

11

ワードプレスの用語では、特定の投稿にアップロードしたすべての画像を添付ファイルといいます。

$images =& get_children('post_type=attachment&post_mime_type=image&post_parent=10'); 

$counter=0; 
foreach((array) $images as $attachment_id => $attachment) 
{ 
    $counter++; 
    echo "<a href='".wp_get_attachment_link($attachment_id) . "'>image $counter</a><br />"; 
} 

アルゴリズムは、そのようなものです: あなたがget_children()機能を使用することができ、すべての添付ファイルを一覧表示します。

0

あなたがイメージギャラリーを管理するためのプラグインを探しているなら、あなたはattachmentsプラグインを使用することができ、

http://wordpress.org/plugins/attachments/

それは別のギャラリーを維持し、ポストコンテンツの画像ギャラリーショートコードを入れていない、これを提供投稿/ページ/カスタム投稿の画像表示を完全に保持します。また、ここでは、単にドラッグアンドドロップで

をあなたのイメージの順序を変更することができ

<?php $attachments = new Attachments('attachments'); /* pass the instance name */ ?> 
<?php if($attachments->exist()) : ?> 
    <h3>Attachments</h3> 
    <p>Total Attachments: <?php echo $attachments->total(); ?></p> 
    <ul> 
    <?php while($attachments->get()) : ?> 
     <li> 
     ID: <?php echo $attachments->id(); ?><br /> 
     Type: <?php echo $attachments->type(); ?><br /> 
     Subtype: <?php echo $attachments->subtype(); ?><br /> 
     URL: <?php echo $attachments->url(); ?><br /> 
     Image: <?php echo $attachments->image('thumbnail'); ?><br /> 
     Source: <?php echo $attachments->src('full'); ?><br /> 
     Size: <?php echo $attachments->filesize(); ?><br /> 
     Title Field: <?php echo $attachments->field('title'); ?><br /> 
     Caption Field: <?php echo $attachments->field('caption'); ?> 
     </li> 
    <?php endwhile; ?> 
    </ul> 
<?php endif; ?> 
関連する問題