WordPress 3.0 Thelonious リリースとカスタムメニュー

幾度かの RC を経まして WordPress 3.0 Thelonious がリリースされました!

ja(日本語)版リリースに先駆けまして、ここ hiromasa.another も 3.0 にアップグレード。 実は少し前から RC 版で動かしておりましたので、トラブルなく動作しました。

3.0 はマルチブログ、カスタム投稿、カスタムメニューの機能追加、カスタム分類強化などなどデータ構造の変更を含む大きなリリースとなっています。

その他の大量の変更内容も含めまして、codex をみると非常によく分かります。 🙂

Version 3.0 – WordPress Codex 日本語版

2010年6月17日(木)(米国時間)、WordPress バージョン 3.0 がリリースされました原文)。このバージョンのバグフィクスについての情報は、Trac のクローズチケット一覧をご覧ください。

カスタム投稿 + カスタム分類は強力な変更ですが、ここのような既に動作しているブログでは品行方正(?!)が必要な部分もありいきなりの導入はちょっと難しい(笑)ですので、まずはカスタムメニューを導入してみました。

WordPress を CMS 的に使う場合、コンテンツがスタックする部分にカテゴリやタグを、変更が累積しない場合にはページを使うというのがあちこちでみる常套手段となっていますが、その統一ナビゲーションメニューをつくるのって結構大変です。

wp_page_manu だと基本ページの一覧しかだせないので、カテゴリリンクとまぜて ol li を構築するのがやっかいです。 あとページだけでも順番そろえたりとか結構面倒、てなわけで登場したのが wp_nav_menu。

管理画面の UI 操作で、カテゴリ、タグ、カスタム投稿、その他手動設定のリンクや個別の投稿を選択してメニュー化できます。

nav02

階層構造ももつことができて、対応する CSS を書いてあげればドロップダウンメニューとかもできるようになっています。

使い方は簡単で、今テーマで wp_page_menu とかしているところを、wp_nav_manu テンプレートタグに置き換えればとりあえず、それとなく動くようになっているようです。 本来的にはテーマの functions.php で register_nav_menu してあげてからにすると、複数のメニューを任意の位置にだすことができます。

nav01 

たとえば、ここのサイトで使っているテーマフレームワーク Thematic の場合は、functions.php に以下を追加すると既存のヘッダページメニューをカスタムメニューに置き換えられます。(そのうち Thematic 本家も対応すると思いますのでこれはサンプルってことで 🙂

/******************************************************************************
 * メニュー変更
 *****************************************************************************/
function refrect_setup() {
    // thematic 標準ナビゲーション(wp_page_nav)削除
    remove_filter('thematic_header','thematic_access', 9);
    // テーマにナビゲーション登録
    register_nav_menu('primary', 'ヘッダのところのナビゲーション');
    // thematic ナビゲーション変更
    add_action('thematic_header','add_custom_menu', 9);
}
 
function add_custom_menu() {
?>
    <div id="access">
    <div class="skip-link"><a href="#content" title="<?php _e('Skip navigation to the content', 'thematic'); ?>"><?php _e('Skip to content', 'thematic'); ?></a></div>
        <?php wp_nav_menu(array(
            'theme_location' => 'primary'
            , 'container_class' => 'menu'
            ,'menu_class' => 'sf-menu sf-js-enabled')); ?>
    </div><!-- #access -->
<?php
}
 
add_action('after_setup_theme', 'refrect_setup');

 

このソースは Thematic 特有のコードが入っていますが、基本はそれぞれのテーマの functions.php に

register_nav_menu('primary', 'ヘッダのところのナビゲーション');

 

この1行を追加しまして、テーマでカスタムメニューをだしたい部分に、

<?php wp_nav_menu(array('theme_location' => 'primary')); ?>

 

とかけば OK のハズです。 primary っていうのが id で任意の名前をつけて複数メニューがある場合はこれで識別します。 簡単あるね。

wp_nav_manu には引数で html の id や class を指定できますので、CSS にいい感じに合わせれば良いと思います。

テーマファイルもいじりたくないって場合は、3.0 からこのカスタムメニューを表示するウィジェットが用意されていますので、これをぺたっと張ればサイドバーとかにはすぐだせますね。 🙂

nav03

ちなみに、このサイトの上のナビゲーションはカスタムメニュー化しています。 ページしか使っていなかったので、見た目「ホーム」が「Home」になっただけですが、順番を UI で変えられるのは便利です。

まずは、是非是非。 🙂

Ubuntu 10.04 と デスクトップガジェット Screenlets

モニタを 16:9 の フルHD にしてみると、普通のアプリケーション利用中は横が結構余ることに気がつきます。 特にブラウザとかですね 🙂

というわけで、俄然実用性を増す(!?)デスクトップガジェット。 昔から Linux では screenlets というのを使っていますが、小ネタに再度ちょこっと紹介です。

Information – Screenlets.org

Screenlets are small owner-drawn applications (written in Python) that can be described as "the virtual representation of things lying/standing around on your desk". Sticknotes, clocks, rulers, … the possibilities are endless.

Ubuntu 10.04 ではパッケージに入っていますので、パッケージマネージャから screenlets でインストールできると思います。 実は本体は最近バージョンアップしてなくてちょっとしんなりなのですが、 スクリーンレット自体はいまも新作がいろいろな方から発表されています。

Eyecandy for your GNOME-Desktop – GNOME-Look.org

Python でかけまして、個別スクリーンレットの起動自体も Python スクリプトの実行だけでいけますので、ランアンドデバッグもしやすく自分で作成するのも比較的簡単です。 🙂

てなわけで、ぼくが今使っているやつを。

screenlets01

右上から、時計、リソースメータ、スライドショー、お天気、Impluse、フォルダビューみたいなの。 です。 スライドショーは、しょこたんブログ RSS から画像を抽出するように改造されています。。(笑)

なかでもグライコスクリーンレットの Impluse さんがおしゃれなので動画にて。。 動画だとコマ落ちしちゃってますが、本来はもっとスムーズです。

実は Ubuntu 9.10 くらいから動きがおかしくなっていまして、タイミングが遅いというか、サンプリング数が少ないという状態でがっくりしていたのですが、どうやら pulseAudio の設定でなんとかなるようです。

/etc/pulse/deamon.conf の、プライオリティや nice 値、デフォルトサンプリングレートを 48000 にしたり、default-fragments を適当にいじっていたら直るようです。(サウンドカードにもよりそう)

Impluse の C 側のソースも追っていたのですが、サンプル数の部分を合わせないとだめ、、、とかそういうことの気がしますがはっきりとは分かりませんでした。

この設定は、他のアプリでの音声発生が遅れるパターンでも有効なようなので、該当の人はいじってみるといいかもしれません。

さて、Impluse さん、夜、暗い部屋でグライコがちらちらしているのは結構おしゃれです。

是非是非。 🙂

WordCamp Yokohama 2010 に行ってきました!

5/28 ~ 5/30 にかけまして、WordCamp Yokohama 2010 に参加するために、横浜に行って参りました。 🙂 ブログ書くのも困るくらい、楽しいことがたくさんありました。 みなさま、どうもありがとうございました!

相変わらず、カメラを持って行ったのに1枚も撮っていなかったという事態のため、以下写真はおでこさんのフリッカーより拝借です!

5/28(金)。

夕方に札幌を出発で、20:30 くらいに羽田到着しました。 おでこさん達がレセプション後、遊んでくれると言ってくれる勇んで渋谷に。 向かおうとしたら、羽田空港で自分の母親と出会う。 東京で会うとか意味が分からない。

21:30 渋谷到着。

おでこさんはレセプション中でお忙しそうでしたので、渋谷駅のハチ公さんのところで試験的に若者に混ざってしゃがんでいてみたりする。 途中、をかもとにーさんののびた写真が送られてきてわくわくする。

おでこさんと連絡がつき「どーげんざか」と教えてもらうもどこかよく分からない。 教えてもらったとおりにウォーク。

[tegaki]あ!![/tegaki]

ぼーいみーつがーる。 広瀬香美がかかった気がする。 しかし、ガールではない。

そこには、をかもとにーさんがそびえ立っていた。 何を隠そう初対面であります。

いつも通り、ぼくは訳が分からなくなってかんだのは言うまでもない。 にいさんは想像通り、いや想像を超えたにいさんであり、お会いできてうれしかった。

yokohama01

おでこさん、てぃあこさん、じゅんさん、をかもとにいさんに歓迎会を開いていただきました。 ありがとうございます!!。 🙂

5/29(土)。 WordCamp Yokohama 2010 当日。

この日は、おでこさんのプレゼンにちょっとおじゃまするのであった。

WordCamp Yokohama 2010 で「すばらしき WordPress コミュニティーの世界」についてたっぷり語りました!  Odysseygate.com

最初は一人で全部やろうと思っていましたが、どんどん広がるコミュニティの世界を一人ではつたえきれない!と思い、急遽ひろまささん、じゅんさんにもプレゼンをお願いし、リレーセッションに挑戦してみました。いかがだったでしょうか。

どうやらカンペの iPod touch をもつ手が震えていたらしい(気がつかなかった)。 でも、3人でできて面白かったです!!

yokohama03

まさにコミニュティーって感じで良かったデス。 おでこさんは相変わらずエロく、じゅんさんはいちいち爽やかでした。 そりゃもてるっつーの(笑)

その他、会場をちょろちょろしてお手伝いなど。 じゃまだったらすいません。。

柏岡さんとは相変わらずエロい感じでした。 確実にオーラが。。。 🙂

yokohama02

そうこうしているうちに、あっという間に懇親会。

WordPress オフ会 2006年組のみなさん、WordCamp Tokyo 2009年組のみなさん、micc さん、再会できてうれしかったです。 お初の皆様もありがとうございました!! 😀

最後ににいさんとぱちり。

yokohama04

いつも同じソースコードみているというのに、初対面という不思議さ。 ギャグあとに、ニヤリとするそのお姿はこれからもなにとぞヨロシクお願いしますという気持ちに。

オープンソースとインターネット、そしてみんなが顔を合わせるオフラインミーティングがそろうと、ものすごいパワーを生み出すなぁと思った WordCamp Yokohama 2010 でした。 🙂

あ、Nao さんと写真撮ってないじゃないかっ! 不覚(笑)