私が最初にこれを調べ始めたとき、 File Gallery は私が問題を解決することにずっと近づいた。唯一の問題は、ファイルをアップロードしたときにプラグインが一般的な非画像アイコンしか表示しないことです。
誰もがファイルギャラリーに特有のロゴを達成するためにFile Galleryと一緒に、あるいはその代わりに働く既存のプラグインを知っていますか(たとえば、.docファイルをアップロードするとプラグインはMS Wordロゴを表示します)。
既存のプラグインに失敗した場合、私自身の手作りの解決策を作り出すことを試みるための良い出発点は何でしょうか?
前もって感謝します!
注:これはもともとwordpress.orgサポートフォーラム here に投稿されたものですが、そこに返事がないので私は運を試してみることにしましたここに。
WordPressのwp-includes/post.php
にはネイティブ関数wp_mime_type_icon()
があります。
基本的な例:
// $attachment should be a full post object
if ( wp_attachment_is_image( $attachment->ID ) )
{
echo wp_get_attachment_image(
$attachment->ID,
array( 480, 900 ),
FALSE,
array ( 'class' => 'aligncenter' )
);
}
else
{
echo '<img src="' . wp_mime_type_icon( $attachment->post_mime_type ) . '">';
}
利用可能なファイルタイプアイコンについてはwp-includes/images/crystal/
を見てください。
あなたはあなた自身の画像ディレクトリを設定し、WordPressにあなたの画像を使用させるためにローカルパスのための'icon_dir'
とURIのための'icon_dir_uri'
をフィルタすることができます。
単数形ファイルのみを変更するには、'wp_mime_type_icon'
をフィルター処理します。
apply_filters( 'wp_mime_type_icon', $icon, $mime, $post_id )
私はあなたがそのプラグインコードを変更せずに他のギャラリープラグインでうまく動かせるようになることは幸運だとは思いませんが、プラグイン/関数を書くかテンプレートページを使用することでかなり簡単にできます。
あなたができることはget_children
をつかむためにpost_mime_type
を使うことです、あなたの場合単純な例は以下のようになるでしょう:
get_children( 'post_type=attachment&post_mime_type=doc' );
//assuming your using ms .doc files.
MIMEタイプを取得したら、wp_get_attachment_link
を使用してリンクを作成できます。残念ながらこの関数の$icon
パラメータはブール値なので、独自のアイコンを追加することはできません。目的のアイコンに実際のURLをecho
name__で追加する必要があります。つかいます。
http://codex.wordpress.org/Function_Reference/get_children
http://codex.wordpress.org/Function_Reference/wp_get_attachment_link
http://tgrayimages.com/automate-file-attachments-on-your-wordpress-posts/