WordPressの検索フォームは、テーマ側で用意しなくてもデフォルトが表示されるようになっている。もちろんカスタマイズも可能だ。
検索フォームのテンプレート
もし検索フォームのカスタマイズが必要であれば、テーマにsearchform.phpというテンプレートを用意すれば、こちらが優先して表示される。
TORIYAMAHONPOS WordPressのまめ知識
の記事
TORIYAMA Yuko
WordPressの検索フォームは、テーマ側で用意しなくてもデフォルトが表示されるようになっている。もちろんカスタマイズも可能だ。
もし検索フォームのカスタマイズが必要であれば、テーマにsearchform.phpというテンプレートを用意すれば、こちらが優先して表示される。
WPtouchの無料版では、機能制限としてテーマディレクトリを設定することができない。テーマディレクトリは/plugins/wotouch/themes/default/に固定されているので、スマホ用テーマを自作した際には、このディレクトリ下のファイルを差し替えるのが無難としてきた。
このほど複数あったブログをひとつのWordPressにまとめ、マルチサイトとして管理するようにしたところ、ここでつまずいた。ブログは複数あるのに、WPTouchのテーマディレクトリが固定(ひとつしかない)ではブログによってスマホ用テーマを分けることはできないではないか。
おとなしく有料版にグレードアップするしかないのか?
そもそも有料版ではマルチサイトに対応しているのか?
と諦めモードになりつつ、ダメモトでWPtouchのコアコードを修正する手段にでた。wptouch.phpの中にreturn ‘default’としている箇所が2つある。まさにテーマディレクトリを固定で返しているところだ。ここでディレクトリ名を操作できそうだ。get_blog_ID()によりマルチサイトのブログIDが分かるので、この値によってテーマ名を分ければよさそうだ。たとえばブログIDが2であればexample-2、3であればexample-3というように分岐してそれぞれのディレクトリにテーマファイルを置けばよい。結果、いまのところうまく動いている!
TORIYAMA Yuko
WordPressを使ってAndroid向けコンテンツを作成した。
スマートフォンでの表示はWPTouchに頼ればよいと気軽に取り組んだものの、テーマのカスタマイズに思った以上に手間取った。WPTouchはダッシュボードからロゴ画像やリンク色はじめ様々なオプションを選択できて、かっこよくモバイル表示ができるようになっている。ここに自社のデザインをあてはめようした場合にはそれらのオプションはあまり意味をなさず、WPTouch独自の関数を理解せねばならないところから始まる。
それでもなんとかデザインチームから出てきたHTMLを反映することができた。リリース後しばらくして、PC閲覧時にたまにモバイル表示になってしまうことが発覚した。フォーラムなどを調べていて逆の例(モバイルなのにPC表示)は対応策が述べられているなか、PCなのにモバイル表示という例は見つからず、1週間ほどが過ぎた。
WPTouchの動作を見ていたところ、UserAgentは正しく取得できているもののテーマの振り分けがうまく行かない場合がごくまれにあるようだった。テーマの構成としては、
PC用 /themes/mytheme
モバイル用 /plugins/wptouch/themes/mytheme
のようにしていた。
そしてWPTouchが無料版であるため、モバイルテーマのディレクトリを”default”ではなく”mytheme”を参照するように、wptouch.phpを修正してもいた。結論としてはそれがダメだった。
wptouch.phpをもとに戻した。つまりモバイル用テーマのディレクトリを
/plugins/wptouch/themes/default
に戻して、中身には自作のmythemeをコピーした。再現しなくなったようだ。とすると、PC用とモバイル用でテーマ名が同じだったのが原因か。かならず発生するわけではないのでなんともいえない。ともかく無料版ではモバイルテーマのディレクトリはdefaultのままにしておくのが無難としておく。