Home > 2010年 4月

04月22日 

Wordpress

Wordpressでページ内に記事一覧サムネイル

久しぶりのWordpressネタです。
次のVer.3からはマルチブログにも対応するなど、このところ進み具合が半端無い感じのWPですが(アップグレードでコケるところ多そうだなぁ…)。

ページ内で記事の一覧とそのサムネイル画像を表示させたい、という要求は往々にしてあると思うのですが、それをなんとか使用者にも使いやすい形で実装できないものか…と。

最初に考えたのはカスタムフィールドを使用して、アップロードしたファイルのURLを入れてもらう。。。は手間が増えるし、おそらくイマイチ分かりにくい操作だなぁ。。。と。
記事内の最初に出てくる画像を正規表現で取得して…矩形のサムネイルだと良いけど、中・大の画像サイズとファイル名が不明…
Ver 2.9から実装されているthe_post_thumbnail()はなにも表示されない…

ということで実装したのがこちら、

PHP:
  1. $posts = get_posts('numberposts=5&category=3');
  2. foreach($posts as $post) {
  3.     setup_postdata($post);
  4.    
  5.     $dat = get_posts('post_type=attachment&orderby=menu_order&order=ASC&numberposts=1&post_parent='.get_the_ID());
  6.     if (count($dat)> 0) {
  7.         $image = wp_get_attachment_image_src($dat[0]->ID);
  8.         $desc = '<img src="'.$image[0].'" width="'.$image[1].'" height="'.$image[2].'" alt="" />';
  9.     }
  10.  
  11.     // 記事出力
  12.     echo $desc;
  13. }

get_posts()にパラメータ「post_type=attachment」を指定すると、「post_parent」に与えた記事IDに紐付いているデータを取得できます。その他のパラメータは並び順の先頭にある1件のみを取得する指定です。ギャラリーダイアログで1番上に指定している物を取得する仕様にしました。
配列にはそれぞれファイルURL・幅・高さが入っています。

お客さんにはサムネイルに表示したい画像をアップロード、1番上に移動してもらうだけ。記事内にその画像を表示させたくなければ挿入しなければ良いだけで、ギャラリーの1番上にある画像が自動的に表示されるのは分かりやすいかな?と(サムネイルは表示させたくないけど、記事中に何か画像を表示したい、という希望には添えませんが…orz)。

次のネタは「ページ内で記事を表示させたい。そしてページングも表示させたい」です。ネタは小出しでw

04月15日 

パノラマ関係

パノラマプレイヤーチューニング2

先日の他力本願チューニングを経て思いついた手法を元に、自分がコーディングした部分のチューニングに取りかかってみました。
結果的には6割方の目論見が通り、さらにその他周辺部分で手を入れることが出来たので、結構満足の行くチューニングになりました。

これまではマウスで視点を移動させる際に、各写真の質を落としたりしてスムーズに動かせるよう工夫を入れていたのですが、今回は土台となるベースと各写真の配置方法などを見直し、さらにポリゴン分割数や画質のパラメータとの相関とバランスの試験を繰り返し。
なかなか「これがベストの設定値!」と定められないので、リソースごとに最適な数値を出さないといけない、というのはこれまでと変わりないのですが、以前より移動中の画質低下やフルスクリーン時の負荷を大幅に抑えることが出来ました。

一般的には有償・無償のパノラマプレイヤーを使って全方位パノラマを表示している事が多いし、プレイヤーそれぞれにチューニングが為されていてこういう点に苦慮することは無いのでしょうが、自作のプレイヤーが高性能化出来たときの喜びは格別なものです。
独自機能などを付与させたい、と思ったときにも自ら実装できるのは強みですしね。

ブラウザにキャッシュとして残っている場合があるので、一度キャッシュを削除してみてください。

下のパノラマは先日、元同僚が総料理長を務める飲食店の1店舗をサンプル用に撮影させてもらったときの物です。
HDRでダイナミックレンジを広げて黒潰れや白飛びを抑えています(夕日が眩しかった…orz)。

↑クリックすると全方位パノラマを見ることが出来ます。

○○ウォーカー的な雑誌に掲載されたのを切っ掛けに、昼のランチも夜の営業も満員御礼状態で大忙しらしいのですが、とっても良い店なので興味のある方は一緒に飲みに行きましょう。
プレミアムモルツが390円ですよ!

パノラマプレイヤーチューニング

うちが提供しているパノラマプレイヤーはPapervision3Dをベースにしたオリジナルのプレイヤーなのですが、少しパフォーマンス面で気になるところもあったのでチューニングしてみることにしました。

初めに組んだ頃よりPV3Dのバージョンも上がっているので、最新の物で再ビルドしてみる。さらにブランチバージョンとして、「cs4」「fp10」という2つのバージョンがあることを知り、その2つでもビルドしてみることにしました。
Flash Player 10からFlash自体も3D機能が付与されているので、それに最適化されているのかな?という想定です。(要は自分のソースに手を入れずにベースの改善に期待する他力本願w)

結論で言うと、3つのパターン全てでパフォーマンスの改善は見られませんでした。
PV3D自体にあまりパフォーマンス的なチューニングが施されてないのか、オフィシャルの3D機能に最適化されていないのか?(バージョンアップの履歴を追ってないのでアレですが…)

ということで、次に試してみたのはPV3Dを使わずオフィシャルの3D機能を使ってパノラマを実装してみる。。。

についてはパフォーマンスの点も渋いし、他にも表示面でちょっと問題が…

と、4パターン試してみたのですが色々と試していく中でパフォーマンスに影響してそうな要因と解決のパターンが出てきました。
こちらについては追って実装してみたいと思います(ここでようやく自分のソースに手を入れる算段ですwww)。

04月12日 

雑談

お叱りを頂く

最近、ページの構成や中身を少し変更しています。一気にではなくチョコチョコ進めているのですが。。。

一人で仕事していると、どうしても人から叱られる事は無くなってしまう訳なのですが、なかなか自分の失態に気付くことなく、気付いた頃にはすでに見限られているというか“おまんまの食い上げ”という深刻な状況に陥ることが往々にしてあるわけで。

実はホームページの内容も以前から変更したい点があって、作業の谷間に入ったのを良いことにここ数日作業していたのですが、コンテンツとして公開しようか、いややっぱり今回もいいや、と思ってたページがあった訳なんですが。
逡巡してる頃に同業の方とお話する機会があって、なんだかその方はちょくちょくピンポイントにアドバイスを下さるんですが、ちょうど思い悩んでるポイントへのご意見を頂き、今回のプチリニューアルに取り入れた訳なのです。

たぶんご本人的には“ちょっとした助言”的な内容で発言頂いたのだと思うのですが、「あぁ、これも1つのお叱り」だな、と。「これくらいの事はちゃんとしておこうよ」というメッセージが込められていたのかな、と感じました。叱って頂ける事に感謝しつつ。

以前、「この人を叱ってくれる人募集」みたいなポストがTwitterか何かであって(全然知らない方が叱られる対象でしたが)、それに対して「理責めで行きましょうか?それとも怒鳴りつけましょうか?どちらでも出来ますよ」とリプライしてる人が居て。あぁ、この人は「叱る」という事の本質を分かってないんだろうなぁ、と。
失礼ながらリプライした方の経歴を調べてみると、やはりずっと1人でされてきた方のようでした。自分も前職の時は下に人が居る状況で、叱らなければならない状況の時にはもの凄く悩んで、悩みすぎて結局きちんと叱れなかった記憶がありますw
やはり「叱る」というのは実際に経験してこないと叱る方法は身につかないのだろうな~と感じたことがありました。

人を萎縮させたり凹ませたりするのは、単なる「怒り」であって対象の事を考えず自分の理を通そうとしたり発憤したりするだけのこと。その人の事を考え、反省を促し次への一歩とすること、それが「叱る」という事、という風に理解しています。

きちんと人を叱れる人にならないとな、と思いつつも、しばらくは自分一人でやっていくつもりなので、折に触れて自戒しつつ叱って貰いつつ日々の業務をこなしている毎日です。

今年も高槻の桜は綺麗。-芥川-


高槻で自分が知っている桜の名所は、有名な摂津峡公園とこの芥川河川敷。土手沿いに整備された遊歩道と、それに沿う形で咲き誇る桜はまさに「桜のトンネル」を歩いている感覚です。
続きを読む »