ワードプレスのメディアの縮尺ができなくなくなった問題のご解決をご依頼いただいた事例をご紹介いたします。

クライアント様のご相談内容

ある建築会社様のクライアント様のご相談は下記のような内容でございました。

お世話になっております。
メディアの縮尺ができなくなってしまいました。
昨年別の不具合で貴社にご対応いただいたのですが、そのときはfunction.phpの途中にプログラム上のバグがあったと報告いただきました。
今回は何がきっかけで不具合が発生してしまったのかが分からないんです・・・。
お忙しいところ恐縮ですが、改めましてよろしくお願いいたしますm(_ _)m

ワードプレスの画像編集や、投稿の保存がうまくいかないときは?

クライアント様のサイトの画像編集機能の通信、当社テスト環境等でプログラムなどを詳細に調べましたところ、画像編集ができない原因は、画像の編集時に行われるワードプレスの背後の通信であるAJAX通信に不正な文字列が紛れ込んでいることでございました。

ただ、エラーは出ておりませんでしたので、ワードプレスの何らかのファイルに不正な文字列を出力している部分があるという事になります。
この場合にもっとも疑われるのはfunction.phpや、wp-config.phpの内容です。
結論としましては、クライアント様がfunction.phpを修正して下記のようなコードがfunction.phpに複数含まれていたことが原因でございました。

?>
tab文字
<?php
?> 改行 <?php 

なぜ上記のコードがある事で画像編集ができなくなった?

function.phpや、wp-config.phpは、ワードプレスでページが描画やAJAX通信が行われる度に実行されます。
この際に、PHPのタグの間の空白文字はそのまま出力されてしまいます。

AJAX通信は厳密なJSONというデータ構造でやり取りをしている場合があり、この場合に上記のような空白文字が紛れ込んでいるとワードプレスがデータを正しく読み取り、様々な処理を行う場合にデータ構造が壊れてしまう場合がございます。
またこういった不正な文字列の出力は、サイトの全ページの上部の表示されたり、レイアウトを崩すこともありますので注意が必要です。

どこでどのような不正な文字列がAJAX通信を阻害しているかの特定は難しい場合があります

不正な文字列の出力はこのように一つの空白文字でサイトの機能を壊すことがありますが、その個所の特定が、かなり難しい場合がございます。

PHPというワードプレスのプログラミング言語の構造を理解している必要があったり、function.phpや、wp-config.phpにとどまらず、アップデートによって更新されたプラグインやテーマのプログラムの奥深くでこの現象を引き起こしている場合があるからです。

WPドクターでは経験豊かな技術者がテスト環境を作成の上、安全にこのようなバグや機能不全の修正を代行いたします。お気軽にご依頼ご相談お送りください。

WordPress ワードプレスサイトの修正や移行、カスタマイズのご依頼・ご相談はWPドクターまでお気軽にお送りください