umbrella_process のすべての投稿

恋愛の窮屈さをゆっくりほどいていく優しさ。/マンガ感想:仙石寛子『三日月の蜜』

Twitterでちょっと書いたんですが無反応で「え?TLで誰も読んだことない?」と思い、結構悩んで書いたツイートだしもったいないのでブログに採録しちゃう。

佐倉さん(女)が恋してる杉さん(男)には憧れの桃子さん(女)がいるが、どうしても桃子さんに対して煮え切らない、だったら自分が桃子さんに告白しちゃえ、と実際にしてしまった佐倉さん。それに桃子さんは意外にもあっさりOKして…?というのが表題作の「三日月の蜜」。以下ツイート採録。

続きを読む 恋愛の窮屈さをゆっくりほどいていく優しさ。/マンガ感想:仙石寛子『三日月の蜜』

#WordPress カスタム投稿タイプとカスタム分類(タクソノミー)の使いかた、ざっとまとめ

WordPress3.0で企業サイト構築中なので色々わかったことをメモして行きます。

カスタム投稿タイプ、カスタム分類を使うにはプラグインが便利

カスタム投稿タイプカスタム分類(タクソノミー)をWordPressに追加するにはfunctions.phpにアクションフィルタを書いてもいいのだが(8割くらい書いちゃってから気づいたのだが)、すでに良いプラグインがいくつかあるのでプラグインを使うのが便利。

なかでもCMS Pressはデフォルトでパーマリンク構造を設定できるのでおすすめ。

追加した投稿タイプの新着を表示

WP_Queryを使う。Codexのカスタム投稿タイプページに実例がある。

追加した分類(タクソノミー)でソートした新着を表示

WP_Queryを使う。Codexのカスタム分類ページに実例がある。

IDやスラッグから追加した分類(タクソノミー)の情報を取得

get_term_by()関数を使えばOK。

その他、随時追加して行きます。

#WordPress マルチサイトネットワーク内の各ブログから最新の投稿1件を取得し時系列で並べる方法

2011.8.28:別サイトにて修正版をアップしました。

 

WordPress3.0以降で標準で使える様になった、複数のブログをひとつのWordPressで管理できるネットワーク機能。ネットワーク内のブログの新着記事は普通トップページに表示したいと思うので、表題の機能は需要がありそうだからテンプレートタグがあってもいいのになぁと思うのですが、見つからなかったので自作。いや、ほんとに探したらあるのかもしれないけど!

方針

functions.phpに、ネットワーク内の全ブログから最新1件の投稿を取得し、時系列で並び替える関数を用意する。表示はお好みで。

関数(functions.phpに入れるととりあえず使えます)

// $startを1以上にすると最新のn件を飛ばして取得できます
// $numで取得する件数を指定。
function get_recentposts_from_network( $start = 0, $num = 10 ) {
 $recent_posts = get_site_option("network_recentposts");

 // データが残っていない場合、60秒以上経過している場合はアップデートする
 if( is_array( $recent_posts ) ) {
 if( ( $recent_posts['time'] + 60 ) < time() ) { // cache for 60 seconds.
 $update = true;
 }
 } else {
 $update = true;
 }

 if( $update == true ) {
 unset( $recent_posts );
 // 全ブログのIDを取得
 $blogs = get_blog_list( 0,'all' );

 if( is_array( $blogs ) ) {
 reset( $blogs );
 // 各ブログの最新1件を取得する
 foreach( $blogs as $blog ) {
 switch_to_blog( $blog['blog_id'] );
 $posts = get_posts( 'numberposts=1' );
 if( $posts ) {
 foreach( $posts as $post ) {
 $recent_posts[$blog['blog_id']] = $post->post_date;
 $post_list[$blog['blog_id']] = $post;
 } // endforeach
 unset( $posts );
 } // endif ( $posts )
 restore_current_blog();
 } // endforeach
 // 投稿日時で並べ替える
 arsort( $recent_posts );
 reset( $recent_posts );
 foreach( (array) $recent_posts as $key => $details ) {
 $t[$key] = $post_list[$key];
 } // endforeach
 unset($recent_posts);
 $recent_posts = $t;
 update_site_option( "network_recentposts", $recent_posts );
 } //endif ( is_Array( $blogs ) )
 } // endif ( $update == true )

 if( $recent_posts )
 return array_slice( $recent_posts, $start, $num, true );

 return array();
}

続きを読む #WordPress マルチサイトネットワーク内の各ブログから最新の投稿1件を取得し時系列で並べる方法

音響合成プログラミング言語「SuperCollider」の勉強会が東京で開催されます

もう6年くらいSuperColliderというプログラミング言語を音楽制作に使っています。
IMIでサウンド専攻生にレクチャーしたり、京都でtn8さんimoutoidさんと語り合ったりしましたが、それらは例外的な出来事で…基本的に同士と語り合う機会なんてなかなかない、マイナーな言語なのです 🙁 (社会人になってアカデミズムから離れたらなおさら)

そんな中、Twitterという情報拡散ツールとテキストベースのプログラミング環境を持つSuperColliderは微妙に相性がよいのでしょう、ユーザーがクチコミで徐々に増えているような気がしています。そしてついに東京で勉強会が開催されます!

主催はitaruさんで初回は豪華メンバーが揃う予定!関東近郊でプログラミング音楽に興味がある方は、SuperCollider未経験でもぜひぜひ参加されたし!

» Tokyo SuperCollider #1 – 7/10開催決定

#WordPress 企業サイト構築時に必ず入れるプラグイン12選+1

以前にもWordPressのプラグインをご紹介しましたが、最近受託案件でインストールするプラグインの顔ぶれが決まって来ましたので、改めて「必ず入れるプラグイン」としてご紹介します。なお、紹介はアルファベット順です。

1. All in One SEO Pack

titleタグやmetaタグの操作ができるプラグイン。サイト名は会社名だとしても、トップページではキャッチコピーなどもtitleタグに含めることが多いですが、テーマで対応するよりはこのプラグインで対応した方が何かと便利だし、基本的なSEOもできておトク。

2. Breadcrumb NavXT

コーポレートサイトには必須のパンくずリストナビゲーション。悩まず、このプラグインを入れておけ。

3. Contact Form 7

問い合わせフォームをサイトにつけるなら、とりあえず第一候補。10分で設置完了の手軽さ。

4. Custom Field Template

だいたいの案件でカスタムフィールドを使うことが多いですが、入力しにくいのがネック。でもこのプラグインがあれば問題ない。カスタムフィールドを使わない場合でも、デフォルトの入力欄を消せるのでやはり必ずインストールしています。

5. Google Analytics for WordPress

Google Analyticsに対応するプラグイン。ログイン中はトラッキングコードを出力しない設定ができますので、正確に来訪者のログを取りたいなら導入必須。

続きを読む #WordPress 企業サイト構築時に必ず入れるプラグイン12選+1