Advanced Custom Fieldsの迷惑な話

WordPressで小説サイト

 Advanced Custom Fieldsというのはカスタムフィールドを作るプラグインです。小説サイトでなんでこんなものが必要なのかと申しますと…ひたすらにWordPress化最初期から懸案の、千柳亭書房エンサイクロペディアのためでした。

 柳はWordPressというCMSを知ったときから、小説サイトを作るのと同じくらいの情熱でどうにか満足のいくエンサイクロペディアが作りたいと四苦八苦してきました。テーマのそのものを変更(<いわゆるナレッジベース向けテーマ)してみたり、プラグイン(Echo Knowledge Base)を使ってみたり 1。とどのつまり(自分でも時々忘れそうになる)キャラや世界観の設定をひとまとめにしておこうというタクラミでして、名前とか特徴、所属といった情報の入力および出力フォーマットを決めておいて、それらを自由に検索(+追記)できるサイトを作るというのが目標なのです。もう一歩踏み込んで言えば、キャラ同士で設定がかぶったり、矛盾が生じたりするのを防ぐために書くいわば柳の制作ノートのようなものですね。

 そんなもん公開すんなとお叱りを受けそうですな。
 ですが…言っちゃ何ですがわざわざ秘匿するようなもんでもないから見えるとこに置いてる、というスタンスだとご理解頂ければ幸いです。「書きたいものを、書けるだけ」がうちの基本方針ですから。

 さて本題。
 一旦はテーマを「Cocoon」に変更、プラグインである「Advanced Custom Field」を使ったカスタムフィールドでデータ管理するというスタイルをとることで、柳としては満足とは言わないまでも一応納得のいく形のものが出来たのですが、最近また問題が発生しました。

 カスタムフィールドを管理するプラグイン「Advanced Custom Field」に不具合が発生したのです。

 アナウンスを読む限りは、今までの出力方法ではセキュリティ上問題があるので危ないHTMLは出力しないようにしてますよ、というコトらしいのですが…だからっていきなりWordPressの管理画面も立ち上がらない仕様にされても困るのです。またまた黒ひげ危機一発! 2をやる羽目になってしまいましたよ。「Advanced Custom Field」だけを無効化すれば一応サイトは復活するのですが、カスタムフィールドの部分は全く表示されなくなってしまいました。

 公式サイトでは対応したと書いてあるのですが、当サイトに起きている現象としては上記プラグインを有効化するとWordPress管理画面すら立ち上がらないという深刻な状況です。旧いバージョンの「Advanced Custom Fields」を探してダウングレードも試みましたがイイコトにならない。有効化も出来ないからエクスポートもできない。…これは困った。

 仕方ない。
 バックアップからステージングサーバーに展開したサイトは普通に閲覧できたので、そこからちまちまとデータを抜く(有り体に言えばコピペする)より他ないかなと考えています。当然、今後のデータ管理方法はこのプラグイン(「Advanced Custom Fields」)とは別の何かを検討する必要が出てきたのでした。現状、代替手段についていい案があるわけではないのですが…ここは基本に返って、WordPressデフォルトのカスタムフィールドを再検討してみようかとも思っています。

 プラグインは便利だけど、やっぱり依存するのは怖いですねえ…

20241002追記

コレをアップロードしたほぼ直後にサイトを吹っ飛ばしまして、復旧で連休を潰した格好になりました。
そのどたばたは次項で書くことにして、ACF不具合については一応回復しています。しかし以下の警告はまだ表示される状況でして…

ACF — ACF now automatically escapes unsafe HTML when rendered by or the ACF shortcode. We’ve detected the output of some of your fields has been modified by this change, but this may not be a breaking change. Learn more.the_field See details

DeepLさんにお願いした翻訳によると…
ACF – ACFショートコードでレンダリングされる際、安全でないHTMLを自動的にエスケープするようになりました。この変更により、いくつかのフィールドの出力が変更されていることが確認されていますが、この変更は変更ではありません。詳細はこちら.the_field 詳細を見る

なんのこっちゃい。
前に訳して貰った時には破壊的な変更ではありませんという意味合いでしたし、may not be a breaking changeというのはそのくだりだと思われますが…まだまだ謎のままですね。
とりあえず復旧ということで暫く様子を見ますが、やっぱり方式を変更すべきかなぁと考えています

  1. このどたばたは当サイトの随所に盛り込まれておりますので、お暇なかたはエンサイクロペディアのタグから拾ってみてくださいまし。
  2. 黒ひげ危機一髪!… プラグイン起因と思われる不具合を同定する手順。まずファイルマネージャーからプラグインファイルのディレクトリ名を変更することでプラグインを一括無効化(プラグインが原因ならこれで管理画面が立ち上がる)し、ひとつひとつプラグインを再有効化することで 問題のプラグインを探る。原因となったプラグインを有効化した途端に「重大なエラー!」と怒られた上に管理画面が立ち上がらなくなるので、柳は某ゲームに擬えてこう呼んでいます。一般的な用語ではないので念のため。

コメント