troubles

エラーを吐くWordPressのPHPのコードはChatGPTで修正してみよう

2024年1月30日 火曜日

WordPressはテンプレートの開発・カスタマイズでプログラミングが素人でもGoogle検索でネット上にある無数のサンプルコードを見つけて使うことで容易に行えることが魅力で、”WordPress”と書き添えずに検索しても希望のコードが探せるくらいなのですが、PHPがバージョン8になって、ネット上にあるコードがことごとくエラーを吐くようになってしまいました。

PHPがセキュリティを強化して、曖昧な記述が許さなくなったためのようですが、素人カスタマイザーには大問題です。

そこでですが、PHPに詳しいひとにコードの精査や記述を依頼する前にChatGPTを使ってみましょう。

ChatGPT にエラーになっているコードやネットで見つけたサンプルコードを貼り「PHP8でエラーにならないように修正して」というような内容のテキストを追記して送信してみましょう。
絶対とまでは保証しませんが、かなりの確率で適切なコードに修正されて返してきます。
是非試してみてください。

投稿並べ替えプラグインを削除したらカテゴリーがなくなった!

2023年12月12日 火曜日

投稿一覧でドラッグドロップで投稿の順番を並べ替えできるプラグイン Intuitive Custom Post Order の更新が一時、止まっていてセキュリティ的に問題があるとのことだったので削除したら投稿のカテゴリーがなくなって、カテゴリーで分岐して使っているテーマテンプレートやコードが機能しなくなる事態が発生しました。

これはカテゴリーやタクソノミーの並べ替えができるプラグイン Category Order and Taxonomy Terms Order を併用しているときに起こる現象のようで、Category Order and Taxonomy Terms Order をいったん無効にし、再度有効にすればカテゴリーは再び現れました。

Intuitive Custom Post Order に限らず、投稿やページの並べ替えを可能にするプラグインは「削除」すれば同様の現象が確認できました。
「無効」ではカテゴリーは消えるようなことはなく「削除」で起こる現象のようです。

※ Intuitive Custom Post Order は現在更新が継続されています(2023年12月現在)

Advanced Custom FieldsでRepeater Fieldsが使えない?

2023年5月26日 金曜日

Advanced Custom Fields(無料版)がバージョン6になって、かつて別売り買い切りだったオプション
Repeater Fieldsによる、フィールドグループ編集で「繰り返しフィールド」が編集不可能になった。

これについてフォーラムにあった開発者のコメントによると、

Repeater Fieldsオプションはバージョン5系までで、バージョン6では使えなくなったが、通常のアップデートで更新はできないが、5系はセキュリティ・アップデートされたものが今後もプラグインのアーカイブから取得できるとのことだった。
(2023/5/4 に 5.12.6がリリース)

ブロックエディタでの使用が一般化しつつあるWordPress。
カスタムフィールドを使った入出力は再利用ブロックで代用ができるとのことで、新たなプラグインや技術開発が止まりつつある傾向に思えるが、

弊社で制作管理させていただくお客様には入力すべきところに入力すれば表示する、
(クラッシック・エディタで)規則性のあるカスタムフィールドの管理画面はいまもって好評で、
とくに「繰り返しフィールド」は欠かせない機能だ。

5系のアップデートリリースを開発者がいつまでやっていただけるのかはわからないけれど、これからもよろしくお願いしたいところだ。

 

旧バージョンのプラグインの取得先(ページの一番下)
https://wordpress.org/plugins/advanced-custom-fields/advanced/

Changelog も注視しておこう
https://wordpress.org/plugins/advanced-custom-fields/#developers

WordPress高速化を理由にメディアの画像をwebp変換したり、不要な画像を削除するときは慎重に

2022年1月25日 火曜日

WordPressを使ったお客様の案件で、プラグイン EWWW Image Optimizerを使ってjpgをwebpに変換したのが原因なのか、カスタムフィールド(Advanced Custum Fields)のGalleryで挿入した画像が表示されなくなりました。
新規サイトではどうかわかりませんが、運用が長く、投稿も多いサイト、カスタムフィールドを多用しているサイトにあとから導入するのは慎重になさるほうがいいかもしれません。

過去に同じサイトで、プラグイン Media CleanerのようなWordPress の投稿に紐付かなくなった画像を一括削除するプラグインを実行して、カスタムフィールドで挿入された画像を一掃してしまい、真っ青になりました。
通常の画像と投稿の紐付けに関するデータとカスタムフィールドで挿入した画像と投稿の紐付けに関するデータの保管場所が違うからのようです。
こちらも慎重になさったほうがいいかもしれません。

まずは必ずバックアップをしておくこと。
喪失や非表示になった画像は、私どもの場合はプラグイン Enable Media Replace を導入してひとつずつ同じ画像で上書きして修正して復元しましたが、それも多ければ多いほど大変になります。

Polylangをアップデートして全言語共通にしていたACF Galleryが機能不全になったら

2020年10月31日 土曜日

弊社でWordPressにプラグインPolylangを使って制作した商品紹介の多言語サイトでは、商品の写真や商品番号、価格(単位は日本円に統一)など全言語に共通するカスタムフィールドと、説明文などそれぞれの言語で表現すべき部分のカスタムフィールドをページ上で共存させる作り方をしていて、カスタムフィールドの設置にはプラグインAdvanced Custum fieldsを、商品写真のフィールドには関連のACF Galleryを使っています。

 

共通部分に記載したものやアップした写真や画像はデフォルト言語(弊社のサイトでは日本語)で一度アップすればどの編集ページでも入力済みの状態になっていますが、Polylangの2.8アップデートで、共通部分のACF Galleryが、デフォルト言語以外の編集ページではフィールドが空っぽになり、出力されたページにもギャラリーが表示されない事態となりました。

 

おそらく同じような使い方でこの事態に困ってググってここに来られたかたが読まれる可能性が高いと思いますので結論の対処から申しますと、

管理画面の「言語」→「設定」の「メディア メディアテキストの言語と翻訳を有効にする」を無効化にすることで、正常化します。

 

ここが有効化されていると、メディアにアップロードする画像も言語ごとに画像の説明(altなど)を管理できるようになるもので、Polylangの2.8アップデートまではどうも曖昧にされていたのが厳密になったようで、Galleryも当然言語ごとであるべきと解釈されるようになったみたいです。

ですから、全言語で共通の画像を使うのなら、必然この分類する機能を使わないでおく必要があるわけです。

ページトップへ