Tam-attachment

I’m busy now. Current version of tam-attachment does not work on WordPress 2.1, but I don’t have time to fix it until March. We’re sorry for the inconvenience.

現行バージョンの tam-attachment は WordPress 2.1 上で機能しません。すぐに直したいのですがしばらく多忙のため3月以降になるまで対応できません。不都合をおわびします。

» 日本語

Summary

Tam-attachment is a WordPress plugin which adds some powerful functionality to native file attachments mechanism. This plugin allows you to edit file title and description at any time, not only at file uploading time. And also it offers a couple of useful features like …

  • Original thumbnail
    You know WordPress takes care of making thumbnail image by scaling original one down automatically. But when the file isn’t an image, WP can’t do that. Tam-attachment’s original thumbnail feature allows you to upload your favorite image as extra thumbnail.
  • After attachment
    When you want to upload big size file like movies, it may over PHP’s limit of upload file size. Then you resignedly upload it via FTP, but FTP uploading can’t make attachment entry on WordPress DB, so the file gets orphaned. Tam-attachment’s after attachment feature help you dig the orphan files up and create attachment entry for them.
  • Tagging
    You can tag the attachments by words. You can also pick up all attachments with specific tag, so it’s useful for grouping attachments.

The plugin has own good-looking edit panels similar to the familiar Post and Page edit panels. You can edit slags, order, discussion settings, password, parent post and custom fields on it.

Tam-attachment screenshot

Usage

You can upload files via either native inline uploader or new [Manage] » [Attachment] panel. In the panel if you have orphaned files or files without attachment in your upload directory, they will be shown and suggest creating attachment for them. [After attachment feature]

Then you can select an attachment in Attachment Management pane and edit your attachment in new [Write] » [Write Attachment] panel. In the panel, you can upload extra thumbnail image from Files sidebar. [Original thumbnail feature]

And you can put tags from Tags bar. [Tagging feature]

Template functions

There are some template functions you can use in template PHP:

  • $tam_attachment->get_attachments($tags)

    Returns all attachment’s ID as an array. If you specify optional $tags, it returns attachments with specified tags. $tags can be an array of words or a string of words separated by space.

  • $tam_attachment->get_attachment($post)

    Returns properties of specified attachment as an associative array. The attachment is specified by the ID of itself as $post. The returned properties includes the properties from Post and additional four:

    • attachment_link has URL for the attachment,
    • thumbnail_link has URL for the thumbnail,
    • original_thumbnail_link has URL for the original thumbnail and
    • tags has the tag string of the attachment.
  • $tam_attachment->original_thumbnail_url($id)

    Displays the URL for the original thumbnail of the attachment specified by the $id.

  • $tam_attachment->get_original_thumbnail_url($id)

    Returns the URL for the original thumbnail of the attachment specified by the $id. This function does not display, so useful using it as an argument of other function.

  • $tam_attachment->get_icon($post, $max_dims)

    Displays an <img/> tag refers to icon image of the attachment specified by the $post. $post is the ID of the attachment. The source of the icon image is 1) the original thumbnail, 2) the thumbnail, 3) full size image, searching this order and picking up the first one. If you get none of them, noimage.png in the plugin directory is used.

    Optional $max_dims gets an array of two integers, the max width and height of the icon image as pixel size. If you have larger image than this limit, the displayed image will be scaled down by width and height attributes of the <img/>.

Here is an example. Getting attachments with tag ‘photo2005’ and display the title, icon image which limited by the size 128×128, content and link to the attachment.

<?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>';
  }
}
?>

Download and Installation

You can download the plugin’s zip file here. After you download the zip, you’ll need to unzip it to your <WP_INSTALL>/wp-content/plugins/ directory. Then log into WordPress and activate the plugin from within your plugins panel.

Changelog

Version Date Description
0.1 2006/06/18 Initial release
0.1.1 2006/06/18 Bug fix
0.1.3 2006/07/26 Bug fix

このプラグインは何か?

Tam-attachment プラグインは WordPress のアップロードファイル管理の仕組みにいくつかの強力な機能を追加します。これを使えばファイルのタイトルや説明をいつでも好きなときに編集できるようになります。さらに tam-attachment は次の便利な機能を提供します。

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

Tam-attachment には扱いなれたポストやページのインタフェイスと同様の格好良いエディット・パネルが備えられており、スラッグや順序、ディスカッション設定、パスワード保護、親ポスト、さらにカスタム・フィールドの編集をそこで行なうことができます。

使い方

まずファイルをアップロードして下さい。アップロードするには標準のインライン・アップローダを使っても構いませんし、新しい [Manage] » [Attachment] パネルから行なうこともできます。[Manage] » [Attachment] パネルでは、もしアップロード・ディレクトリの中にアタッチメント化されていないファイルが見つかれば、これをお知らせして後付けアタッチメントを促します。

その後は表示されるアタッチメント一覧から選択して、[Write] » [Write Attachment] パネルから編集が可能になります。このパネルのサイドバーからオリジナル・サムネイルのアップロードが可能です。また、タグの入力も下部のバーから行なうことができます。

テンプレート関数

テンプレートの中で使える関数がいくつか用意されています。

  • $tam_attachment->get_attachments($tags)

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

  • $tam_attachment->get_attachment($post)

    単一のアタッチメントのプロパティからなる連想配列を返します。$post にはアタッチメントの ID を指定します。返されるプロパティには通常の Post から引き継いだものに加えて次の4個が追加されます:

    • attachment_link は、アタッチメントの URL です。
    • thumbnail_link は、サムネイルの URL です。
    • original_thumbnail_link は、オリジナル・サムネイルの URL です。
    • tags は、タグの文字列です。
  • $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 属性の指定で縮小されます。

ダウンロードとインストール

ここから zip ファイルをダウンロードして、<WP_INSTALL>/wp-content/plugins/ ディレクトリに展開、あとは WordPress にログインして plugins パネルで有効化して下さい。

日本語翻訳パッケージはここからダウンロードして下さい。展開すると tam-attachment-ja.mo と tam-attachment-ja.po の2つのファイルが入っているので、tam-attachment-ja.mo を <WP_INSTALL>/wp-content/plugins/ 直下に置き、手順に従い WPLANG を ja に指定して下さい。WPLANG の指定を変更できない場合は tam-attachment-ja.mo の方の名前を既定の WPLANG に合わせて(例えば tam-attachment-ja_UTF.mo などに)変更しても構いません。

4 thoughts on “Tam-attachment

  1. Pingback: John Noone » Lightbox+

  2. このプラグイン、利用させていただいてます。
    質問なのですが、このプラグインで作成したアタッチメントをゲストユーザーにも閲覧可能にするにはどうしたら良いでしょうか?

  3. ゲストユーザにも閲覧可能なはずなんですが、できませんでしたか?
    バグの可能性もあるので詳しく状況を教えてもらえると助かります。
    プラグインは最新のバージョン(0.1.3)を使ってますか?

  4. MOO さん、
    追記します。そういえば昔そんな話をしたような気がするなと思って記憶をたどってなんとか思い出しました。
    アタッチメントがゲストユーザから見えないというのはプラグインのバグではなく WP 側のバグです。wp-includes/classes.php の 660行目あたりに以下のようなコードがあります。


    // Check post status to determine if post should be displayed.
    if ( !empty($this->posts) && $this->is_single ) {
    $status = get_post_status($this->posts[0]);
    if ( ('publish' != $status) && ('static' != $status) ) {

    これの最後の行を次のように変えるとうまくいくと思いますので試してみてください。

    if ( ('publish' != $status) && ('static' != $status) && ('attachment' != $status) ) {

    このバグは WP 2.1 ではたぶん修正済みだと思いますが、WP 2.1 には Tam-attachment がまだ対応できてません… :(

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s