WordPress WPtouchで ob_start(): Cannot use output buffering エラー

WEBシステム開発

Wordpressのテーマで、レスポンシブデザインを利用するようになってからは

WordpressのプラグインWPtouch(スマートフォン対応化)を利用する機会が減りました。

スマートフォン初期の頃にお世話になったプラグインでしたが

時代と共に役割も終えたのかな~っと思っていました。

デザインが古い?とりあえずスマートフォンのタッチに対応したような感じが

あまり好きではありませんでした。

が、ふと最新のWPtouchをインストールして、試してみると

デザインが今風に変わっていました。

機能的にもメニューをカスタマイズできるところが使いやすそうです。

これなら、簡易的なレスポンシブデザインでパソコンサイトを見せるより

スマートフォンに特化したメニュー、リンク、ページに絞ったWPtouchを使った

サイトの方がユーザーフレンドリーかもしれません。

さて、本題の

WPtouchですが、インストールしてスマートフォンで見ると

正しくTOPページ(記事リスト)は表示されるけど、記事の詳細ページが

エラーで表示されません。

エラーログを確認してみると下記のようなエラーが出力されていました。


PHP Fatal error: ob_start(): Cannot use output buffering in output buffering display handlers in
/wp-content/plugins/wptouch/core/globals.php on line 124

うーん、なんだろう?

影響しそうなプラグインを停止させながら確認してみると

どうやらHead Cleanerと相性が悪いようです。

Head Cleanerを停止すればエラーも無く詳細ページが表示されるようになりました。

プラグインの読み込みなどの順番を変えて見たら

両方のプラグインを使えるのかな?

Head Cleanerで済ませていたことをfunction.phpで対応させて今回は完了です。

※但し、別のサイトで試してみましたが、Head CleanerとWPtouchを同時に利用しても
特に問題も無く動作しました。(やはり原因不明・・・)

最新のWPtouchいいですね~。評価上がっちゃいましたよ。

関連記事