Simplicityを1.5.7 20150312にバージョンアップしました。
今回の主な変更点は以下。
- タブレットはデフォルトでPCと同じ表示にした
- タブレットをモバイル表示する機能も追加
- PCではレスポンシブ表示しない機能追加(完全レスポンシブ機能がオフのとき)
- モバイル判定関数is_mobile()は子テーマでオーバーライドできるように(子テーマで自前で設定可能)
- url_to_blog_card() 関数を子テーマでオーバーライドできるように変更(子テーマでブログカードを自前で設定できるように)
- 設定のキャプションを変更
- タイトル下シェアボタン間隔のスタイル修正
- CSSの調整
- [修正a]モバイル表示がおかしくなるCSSの不具合修正
- [修正b]既知の不具合の「link」パーマリンクが作成できない不具合修正(原因と解決方法)
スマホのみをモバイル表示に
Simplicityは、これまでwp_is_mobile()というWordpressデフォルトのモバイル判定関数を利用していたのですが、is_mobile()という独自のモバイル版て関数を作り、スマホのみをモバイルとするように仕様変更してみました。
コードは以下。
//タブレットをモバイルとしないモバイル判定関数 if ( !function_exists( 'is_mobile' ) ): //スマホ表示分岐 function is_mobile(){ if ( is_tablet_mobile() ) { return wp_is_mobile(); } $useragents = array( 'iPhone', // iPhone 'iPod', // iPod touch 'Android.*Mobile', // 1.5+ Android *** Only mobile 'Windows.*Phone', // *** Windows Phone 'dream', // Pre 1.5 Android 'CUPCAKE', // 1.5+ Android 'blackberry9500', // Storm 'blackberry9530', // Storm 'blackberry9520', // Storm v2 'blackberry9550', // Storm v2 'blackberry9800', // Torch 'webOS', // Palm Pre Experimental 'incognito', // Other iPhone browser 'webmate' // Other iPhone browser ); $pattern = '/'.implode('|', $useragents).'/i'; return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']); } endif;
この関数は、Naifixさんの以下の記事を参考にさせていただきました。
参考 【WP初心者向け】is_homeとis_mobileを使ってカスタマイズの幅を広げよう!
一応、これまでの表示が良かったという人のために、元に戻せるように「外観→カスタマイズ→レイヤーとの設定(全体・リスト)」に「タブレットはモバイル表示」という設定項目を追加しました。
チェックを入れると、これまで通りの表示になります。
あと、ソースコードで、!function_exists( ‘is_mobile’ )となっているのは、子テーマのfunctions.phpでオーバーライドして自前の判定関数も書けるようにしておきました。
自前の、モバイル判定関数を書くには、子テーマのfunctions.phpで、同名の関数を定義してコードを書いてみてください。
PCではレスポンシブ表示はしない機能を追加
「外観→カスタマイズ→レイアウトの設定(全体・リスト)」に「 PCでサイドバーをレスポンシブ表示」機能を追加しました。
これのチェックを外すと、PC画面上ではサイドバーがレスポンシブ表示により折りたたまれないように設定できます。
ただし、「完全レスポンシブデザインにする」機能がオフになっている時のみです。完全レスポンシブ機能がオンの時は、この設定は表示すらされません。
v1.5.7まとめ
v1.5台の開発版は、モバイルの最適化のためのバージョンみたいになってきました。
一応こちらの環境で、動作確認はしましたが、多くのモバイル判定関数を置換しましたので、、モバイルなどで表示させてみて、不具合などありましたら、フォーラムにて報告いただけると助かります。