- 締切済み
wp_is_mobileの書き方について
ワードプレスで構築したサイトで、PC(モバイル以外)からのアクセス時のみ、ページ全体の表示倍率を75%にしたいと考えています。 そこで、以下のようにwp_is_mobileの機能をfunctions.phpに追記したのですが、 syntaxエラーが起き、原因として、上記のwp_is_mobileの行に問題があると表示されました。 <?php if( wp_is_mobile() ) { // } else { // <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=0.75, maximum-scale=1" /> } ?> おそらく書き方に問題があるとお思うのですが… どなたかご指摘をいただけませんでしょうか? よろしくお願いいたします
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- anmochi
- ベストアンサー率65% (1332/2045)
ワードプレスのテーマの中にあるfunctions.phpはファイル全体がPHPなので<?phpと?>は要らないのではないでしょうか。 それはそうと何をしたいの? もっと具体的に聞くと「何のタイミングでwp_is_mobile()を実行したいの」? functions.phpはファイルの中身が全てPHPであるという話は先ほどしたが、あなたが今書いてる内容はそもそもfunctions.phpに書くようなものではないと思う。各テンプレートファイル(index.php、home.php、single.php、archive.phpなど)に書くべきだろう。複数個所に書くのがイヤならheader.phpとか作って各テンプレートでget_header()すればいい。 どうしてもfunctions.phpに書きたいならwp_headアクションフックに入れればいいんじゃないかな。 ~~~~ここから~~~~ function is_not_mobile() { if( !wp_is_mobile() && !is_admin() ) { echo '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=0.75, maximum-scale=1" />'; } } add_action('wp_head', 'is_not_mobile'); ~~~~ここまで~~~~ functionsに何かを書く時には基本的に !is_admin() で「管理画面ではない場合に実行」した方が良いだろう。