tam-attachment プラグイン

※ このプラグインのアップデートはこちらに移動しました

tam-attachment はアップロードした画像ファイルなどの管理を簡単にする WordPress のプラグインです。標準のアップローダーではアップロードする時点でしかできないタイトルと説明の設定も、これを使えば後から好きなときに変更できるようになります。

その他にもいくつかの機能があります:

  • オリジナル・サムネイル機能
    JPEG や PNG などの画像ファイルの場合、元ファイルを縮小したサムネイル画像のファイルがアップロードのタイミングで自動で作られますが、残念ながら画像以外のファイルに対してはサムネイルが作られません。tam-attachment では自分で好きなように作成した画像ファイルをオリジナル・サムネイルとして登録することができます。
  • 後付けアタッチメント機能
    動画ファイルなどサイズの大きいファイルを WordPress からアップロードしようとすると、PHP のアップロードファイルサイズ制限(デフォルトで2MB)によりアップロードに失敗する場合があります。代わりに FTP でファイルをアップロードすることもできますが、その場合 WordPress がアタッチメントとして管理できなくなるので、後で管理するときに不便になるかもしれません。tam-attachment はアタッチメントとして管理されていないファイルを見つけ出し、後付けでアタッチメントを作成することができます。
  • タグ機能
    個々のアタッチメントについてプレーンテキストのタグを付けて管理することができます。指定したタグを持つアタッチメントを選択的にリストアップすることができるので、画像のグループ管理などに便利です。

また、通常の Post や Page の編集画面と同様に、

  • 親ポスト
  • コメント、トラックバックの許可設定
  • パスワード保護
  • スラッグ
  • 順番
  • カスタムフィールド

の設定が可能で、ビジュアル・リッチ・エディターも使用可能、また画面下にプレビューを表示します。

スクリーンショット
tam-attachment

tam-attachment は WordPress の標準のファイル管理と同じ方法でファイルを扱います。なので tam-attachment でアップロードしたファイルを標準のやり方で管理することも、その逆も可能です。いつでも戻れるので安心して試してください。

ダウンロード:

インストール:

  1. tam-attachment.tar.gz を展開すると中に tam-attachment ディレクトリと、tam-attachment-ja.po、tam-attachment-ja.mo ファイルが入っています。
  2. tam-attachment ディレクトリを中身ごとプラグインのディレクトリ(wp-content/plugins) に置いて下さい。
  3. 管理パネルの [Plugins] メニューで TaM Attachment を有効化して下さい。
  4. 日本語のロケール(ja) で使う場合は言語ファイル tam-attachment-ja.mo もプラグインのディレクトリ(wp-content/plugins) に置いて下さい。

使い方:
追加されるメニューは [Write] » [Write Attachment] と [Manage] » [Attachments] の2枚だけです。Post や Page と同様、[Manage] » [Attachments] で一覧表示、[Write] » [Write Attachment] で編集します。Post や Page の編集に慣れていれば扱い方はたぶんすぐにわかると思います。

アタッチメントを新規作成するには [Write] » [Write Attachment] または [Manage] » [Attachments] でファイルをアップロードして、それから編集画面で編集します。また、Post や Page の編集画面にある標準のファイルアップローダーからアップロードしたファイルも tam-attachment で編集できます。逆に、tam-attachment で編集したファイルを標準のファイルアップローダーからエディタに埋め込むこともできます。

ページテンプレートなどの PHP コードの中で使える関数をいくつか用意しています。

$tam_attachment->get_attachments($tags)
アタッチメントの ID からなる配列を返します。$tags を指定すると、指定されたタグを持つアタッチメントだけを返します。$tags は配列か、スペース区切りの文字列値で指定できます。

$tam_attachment->get_attachment($post)
単一のアタッチメントのプロパティからなる連想配列を返します。$post にはアタッチメントの ID を指定します。配列のキーには通常の Post や Page で使えるものに加えて、attachment_link (アタッチメントの URL)、thumbnail_link (サムネイルファイルの URL)、original_thumbnail_link (オリジナル・サムネイルファイルの URL)、tags (タグの文字列) の4種類が追加されています。

$tam_attachment->original_thumbnail_url($id)
$id で ID を指定したアタッチメントのオリジナル・サムネイルの URL を echo で出力します。

$tam_attachment->get_original_thumbnail_url($id)
$id で ID を指定したアタッチメントのオリジナル・サムネイルの URL を return で返します。

$tam_attachment->get_icon($post, $max_dims)
$post で ID を指定したアタッチメントのアイコン画像を <img> タグとして出力します。アイコン画像のソースは オリジナル・サムネイル ⇒ サムネイル ⇒ フルサイズ の順であるものを選んで使い、どれもなければ tam-attachment ディレクトリ内の noimage.png が使われます。$max_dims の指定はオプションで、アイコンサイズの幅と高さからなる配列を渡します。アイコンサイズはここで指定されたサイズに最大値が制限され、元サイズが大きい場合は <img> タグの width=, height= 属性の指定で縮小されます。

サンプル
photo2005 というタグが付いたアタッチメントをリストアップして、それぞれタイトル、アイコン、コンテンツを表示して、アタッチメントのURLにリンクを張る、というコードのサンプルです。


<?php
$attachments = $tam_attachment->get_attachments('photo2005');
if ($attachments) {
  foreach ($attachments as $attachment) {
    $attachment = $tam_attachment->get_attachment($attachment);
    echo '<a href="' . $attachment['attachment_link'] . '">';
    echo $attachment['post_title'];
    echo $tam_attachment->get_icon($attachment['ID'], array(128, 128));
    echo $attachment['post_content'];
    echo '</a>';
  }
}
?>

使った感想、バグ報告、機能追加リクエストなどありましたらお知らせください。プラグインを外国語で紹介していただける方は特に大歓迎です ;)

Update: WordPress 2.0.2 以前のバージョンで使うと正常に動作しないバグがあったので、修正版(tam-attachment v0.1.1) に差し替えました。WordPress 2.0.3 で導入された wp_nonce_field()wp_nonce_url()wp_create_nonce() の関数を function_exists() によるチェックなしに使っていたのが問題の原因でした。 (6/18)

2 responses to “tam-attachment プラグイン”

  1. satoru

    漠然と、こんなプラグインを求めていました。
    ありがたく使わせていただきます。

    日本語化について報告いたしますね。
    私は WordPress ME 2.0.3 を使っているのですが、
    ME の場合、最初から3つの日本語ロケールが用意されています。
    その名前がそれぞれ ja_UTF と ja_EUC と ja_SJIS となっているため、
    tam-attachment-ja.mo も tam-attachment-ja_UTF.mo などに
    変えてやらないと、日本語化できないようです。

  2. oo8ooニルチル

    [lightbox][Ajax][Plugin]lightboxでアジャアジャ。感想と他プラグインとの相性とか。…

    Ajaxというかアジャアジャ出来る一番てっとりばやい体感方法だろう、と思いWP lightbox 2を試してみた。

    個人的感想としては、どうしてもこのもっさり感はテンポが悪いなー、と。
    使い方….

Leave a Reply