何時からかwordpressにはMTを意識したFlashアップローダが標準装備になった。
これが、画像をアップロードすると、3種類のファイルをアップロードフォルダに格納する。サムネイル、ミディアム、実寸の3種類。サムネイルとミディアムは画像をリサイズする。これはあらかじめ設定で決めておいたサイズになる。
このサムネイルとミディアムともう1個か2個違ったサイズが欲しい。要するにカスタムサイズのサムネイルが欲しいのだ。あと、Flashアップローダは良くできているけど、画像ファイルのIDが見えないので追加したい。
とりあえず1個だけカスタムサイズのサムネイルができるように、ゴリゴリっとテーマのfunctions.phpに書いてみる。
プラグインの種みたいなもの。
/*
* 画像ライブラリのフォームにIDを表示する
*
* 関連ファイル
* wp-admin/includes/media.php
*/
function custom_media_meta($blank, $post) {
// var_dump($post);
if (!$post)
return;
return "ID:" . $post->ID;
}
add_filter('media_meta', 'custom_media_meta', 20, 2);
/*
* アップロードのフォームにカスタムサイズのチェックボックスを追加
*
* 関連ファイル
* wp-admin/includes/media.php
*/
function custom_size_image_attachment_fields_to_edit($form_fields, $post) {
// var_dump($form_fields);
$form_fields['image-size']['html'] .= "<input type='radio' name='attachments[$post->ID][image-size]' id='image-size-custom-$post->ID' value='custom' checked='checked' /><label for='image-size-medium-$post->ID'>" . カスタムサイズ . "</label>";
return $form_fields;
}
add_filter('attachment_fields_to_edit', 'custom_size_image_attachment_fields_to_edit', 20, 2);
/*
* 画像リサイズでカスタムサイズも行うように登録
*
* あらかじめwp_optionsテーブルに
* custom_size_w
* custom_size_h
* custom_size_crop (1 or 0)
* を登録しておく。
* というか管理画面をつくるべき
*
* 関連ファイル
* wp-admin/includes/image.php
*/
function add_custom_size($sizes) {
// var_dump($sizes);
array_push($sizes, 'custom');
return $sizes;
}
add_filter('intermediate_image_sizes', 'add_custom_size', 20, 1);
wordpressにはPlugin APIとしてActionsとFiltersというフックが随所に仕込まれている。wordpressの本体のソースをざっとapply_filtersで検索するとたくさん出てくる。
上の場合filtersに自分の関数を登録して、処理途中のデータを引数として受け取る。そして、自分の好きなように加工して返す。applay_filters周辺の処理によるけど、本来行われる処理をそのまま乗っ取ることもできる。今回はちょっと加工するだけ。だからコメントアウトされているけど、var_dumpで引数がどんなデータかを確認している。
これに管理画面くっつけて、いくつもサムネイルサイズが登録できるとプラグインになりそう。がんばろう。
ちなみにwp_optionsというテーブルは、wordpress本体、プラグイン共通のデータ置き場になっている。各種設定はwp_optionsに置かれている。phpMyAdminでのぞいてみるとグッチャグチャである。
先日、MacBookのキーボードが非常にヤニ汚れすると書いたが、これヤニ汚れじゃないっぽい。
というのも、この黄ばみに対して有効な方法が見つかったのだ。ずばり消しゴム。消しゴムで擦ると嘘みたいに黄ばみがとれる。完全ではないがね。
これできれい。心もこんなふうに簡単にきれいになるといいね!ウフフ!なんて思うわけだ。
そして、1日お仕事でMacBookを使う。なんとまた黄ばみ復活である。1日で。正味8時間以下で。しかも前より汚くなっている。自分の手?
Appleより先にGoogleに問い合わせる。パームレスト macbook - Google 検索。
パームレスト欠けも変色問題も知らなかった。そして今、両方の症状が出ている。欠けた部分はヒビが入って、勝手にとれた。変色はここ1ヶ月ぐらい。熱が原因と言うが、去年は大丈夫だったよ。
しかも、自分のMacBookのシリアルは交換対象ではない。そして、2年も使っているので保証は切れている。それに、仕事で使っている。9月までは修理に出せない。
そうか!新型MacBookを買えということか!そんなおめでたくなれねーよ。
毎日消しゴムできれいにするか・・・。