[WordPress] WidgetLogic 6.02 コンテンツが空白になるエラー

Widget Logic はウィジェットの表示を個別に管理できる優れものプラグインで長らくお世話になっていましたが、WordPressのサイトに深刻なダメージがあり、これを機会に使用をやめます。

概要

Widget Logic 6.0.2 で WordPress のメインコンテンツが消えるというエラーが発生していました。6.0.5 で修正されましたが、6.0.2 から更新することができないので、自分でコードの一部を修正するか、一旦削除して再度インストールします。しかし実は削除してそのままにし、Widget Logic の使用を辞めるのが賢明です。その理由は後ほど。

Widget Logic 

Widget Logic はウィジェットの表示を自在に操れるWordPressのプラグインです。ウィジェットの下部にテキスト入力欄が現れ、表示の条件を書くだけという、ウィジェット管理のプラグインで最もシンプルかつ高機能でした。しかし長年の信頼を傷つける今回のエラーと、それによって明らかになったこのプラグインの変節を知るきっかけとなったのです。

WordPressのメインコンテンツが空白になるエラー発生

2025年6月初旬、Widget Logic プラグインを使用しているすべてのサイトでメインコンテントの内容が消え空白になってしまう許されざるエラーが起きました。

<main class="content"><div id="pk-status-message"></div></main>

main content がすべて消え、”pk-status-message” という犯行声明みたいな div に置き換わっています。最初、悪意ある攻撃か乗っ取りと思って焦りました。

犯人は Widget Logic 

犯人はすぐに特定できました。Widget Logic が直近に自動更新されたサイトだけが被害に遭っているし、それ以前にブラウザのインスペクタでエラーを確認すると謎の js エラーで WidgetLogic が名指しされています。乗っ取りではなく、プラグインの不具合でした。

緊急の措置としては、WidgetLogic の使用を停止することで、メインコンテンツが表示されるようになります。

代替 WIdget Options

Widget Logic を不使用にするわけですが、これを使用しているサイトでは当然ウィジェットの表示に問題が出てしまうので先に代替となるプラグインを入れて対処します。
仕方ない。Widget Options を入れましょう。Widget Logic と同じことができるので外観-ウィジェット で地道なコピペ作業を施します。

Widget Options
Widget Options: 虫眼鏡アイコンのタブが Widget Logic と同じ機能

緊急の対処は以上です。WidgetLogicを使用しているすべてのサイトで対処しておきましょう。

何が原因だったのか

緊急の対処が終わったので改めて調べてみると、原因が分かりました。

https://wordpress.org/support/topic/current-version-is-breaking-pages-with-wp-6-8-1/

サポートフォーラムですが、ここで同じ目に遭った人の報告や対処や原因が書かれています。

直接の原因は、プラグイン内でバージョン表記を凡ミスしたことのようです。6.0.2 であるところを 6.02 と記してしまったということで、その直後の 6.0.5 に更新することもできなくなってしまったという(6.2 と判定されるため)

widget_logic.php を開いて 6.02 を 6.0.2 と書き換えてやると、6.0.5 に更新することができてエラーは収まるということです。

書き換えるのが面倒なら、一旦プラグインを削除して再度インストールすると最新バージョンがインストールされます。

凡ミスは仕方ないことですが、この件で発覚したのは WidgetLogic プラグインの呆れた変節とふざけた仕様そのものでした。

Widget Logic のふざけた仕様

プラグインページの概要に書かれていることなので、読みもせず勝手に信頼していたこちらが悪いのですが、Widget Logic はページを読み込む度に、外部ドメインにホストされているjsファイルを呼び出しています

Interaction with External Services

Widget Logic uses the external service to obtain up-to-date information about the results of football matches. widgetlogic.org is a source of sports information, that provides a wide range of information about football, including various leagues, tournaments, and championships from around the world.

Widget Logic は、外部サービスを使用して、サッカーの試合の最新情報を取得します。widgetlogic.org  、世界中のさまざまなリーグ、トーナメント、選手権など、サッカーに関する幅広い情報を提供するスポーツ情報ソースです。

https://wordpress.org/plugins/widget-logic/

えっ。外部からサッカーの試合結果を取得??何それ。WidgetLogicって、サッカー情報の取得がメインの目的だったの? 

エラーによりメインコンテンツが消え謎の #pk-status-message に置き換わってしまいましたが、このpkってサッカー用語のPKだったのか。何この仕様。まじか。最低やな。

これが見過ごせないのは、プラグインが勝手にどこかあずかり知らぬドメインにあるjavascriptを呼び出して実行し、そのスクリプトがサイト内のメインコンテンツを簡単に入れ替えたり消滅させることができると証明したことです。

メインコンテンツを消して#pk-status-message に置き換えることができるんだから、どんな内容にだって置き換えることが可能じゃないですか? これでは乗っ取りと同じです。

即刻削除しましょう。

長年使っていてこんな悪徳な仕様だとはまったく知りませんでした。が、それも当然で、もちろん当初はそんな仕様ではありませんでした。

2024年の夏頃に Widget Logic プラグインとドメインが売却されたそうで、バージョン6を境に新しい所有者がJavaScriptを利用したマルウェアの如き仕掛けを施したのだそうです。

さようなら Widget Logic。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください