Blogブログ

Day: May 8, 2013

Metro UI Bootstrap Templates

個人でのサービスを始めるにあたって、オープンソースかつMetro UIベースのテンプレートを使おうと思ってリサーチしたところ思った以上に良さげなのをたくさん見つけたのでメモ。 1.Bootme TRO Windows8風のデザインで、素晴らしい完成度。アイコンの種類も豊富で、綺麗。 でもレスポンシブで縮めた時に少し違和感を感じた。 2.BOOTSWATCH テーマが充実したフレームワーク。Twitter Bootstrapベースで、320pressがWordPress用のテーマも配布しているようだ。 3.Metro-bootstrap こちらもTwitter Bootstrapベース。BOOTSWATCHよりもシンプルで、カスタムしやすそうだ。 4.Metro UI CSS こちらはよりWindows8っぽいデザイン。使用する際にはMetro UI CSSサイトへのリンクを設置する必要があるようだ。 5.METRO MANIA これもまた素晴らしいクオリティ。。 ただ使用にはコストが発生するようだが、一番安いものでたったの$4。クライアントへの納品には問題なさそう。 カスタマイズしての再配布や販売の場合は$300ドルらしい。 https://wrapbootstrap.com/theme/metro-mania-no.1-metro-bootstrap-theme-WB07F9G8L by http://responsivewebinc.com/ 6.SCAFFOLD コーポレートサイトなんかに良さそうな、テンプレート。 DLリンクとライセンスに関する情報はみつからなかったのだが、ソースを見る限りはやはりTwitter Bootstrapがベースにある。 by http://iweb-studio.com/ しかしクオリティの高い素材がたくさんあることに驚きました! スキルの高い制作会社も。。 世界は広いっす。 Thanks for developers!!!

is_main_query, pre_get_post を使う。

is_main_query, pre_get_post を使う。 これまで、Wordpressのテーマカスタマイズではquery_postsを使って、取得するポストの条件を定義してDBへアクセス、という手法を使っていた。 が、これだとDBへ2度アクセスする事になり、パフォーマンスの低下を招くことになる。 そこで使うのがpre_get_posts フックとis_main_query()関数。 まずpre_get_postsだが、これはテンプレートファイルにアクセスする前に、メインクエリを変更する為のフックだそう。 そして、is_main_query()関数。 これは、Wordpress標準のクエリなのか、テンプレートから呼び出されたのかを判別するもの。 この2つを使い、function.phpに以下のように記載することで、テンプレート呼び出し前にメインクエリに渡すパラメータを定義出来る。 要は奏することで、DBアクセスを一度にしてしまおうという事。 例えば、以下の様な形で使う事ができる。 function get_my_custom_posts( $query ) { /* 1 */ if ( is_admin() || ! $query->is_main_query() ){ return; } /* 2 */ if ( is_home() && $query->is_main_query() ) { $query->set( ‘posts_per_page’, 1 ); return; } /* 3 */ if ( is_post_type_archive( POSTTYPE ) && […]