[WordPress]テーマのライブプレビューが表示されない場合の対処方法

Pocket

特定の方法でgzip圧縮を行っている場合にajax関係の動きがおかしくなる場合がある。

例えばテーマのライブプレビューが表示されなかったり、更新画面で更新中を表すアニメーションが止まってしまったりといった具合だ。画面が止まったからと言って更新に失敗している訳では無く、内部的には正常に更新処理が終了しているが画面表示の更新のみ失敗している状態。

もし同様の症状に悩まされている場合は以下の項目をチェックしてみると良いかも。


スポンサードリンク


環境

  • さくらインターネット(スタンダードプラン)
  • WordPress 4.0

原因となっている可能性

  • php.ini
    zlib.output_compressionがOnの場合はOffにしてみる。
    zlib.output_compression=Off
  • gzip関連のプラグイン
    圧縮系のプラグインを無効にしてみる。
    例:GZIP Enableプラグイン
  • キャッシュ系のプラグインも同様に停止してみる。

自分の環境ではphp.iniのzlib.output_compression=OnとGZIP Enableのそれぞれで問題が発生することを確認。

gzipの代替策

gzipを無効にするとPageSpeed Insightsで怒られてしまう。(というか遅くなるので普通に嫌だ!)

mod_deflateが使えるようだったらこちらに切り替える。
こちらでの圧縮では今回のような問題は発生しなかった。

※)さくらインターネットでは使えなかったのだが、先日Apacheのバージョンが上がったので使えるようになった。

.htaccessの設定例:buzzyvoxさんから引用
<IfModule mod_deflate.c>
  SetOutputFilter DEFLATE
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
  SetEnvIfNoCase Request_URI\.(?:gif|jpe?g|png)$ no-gzip dont-vary
  SetEnvIfNoCase Request_URI _\.utxt$ no-gzip
</IfModule>


GIDZipTestで圧縮されているか確認。


参考になった情報

WordPressフォーラム(英語):My WordPress doesn’t show the live preview on the Theme Costumize section


お役に立てましたか?

ブックマークをどうぞ!

スポンサード リンク

コメントを残す