PHPでog:imageの日本語部分だけをencodeURIする
Facebookに記事のURLを張り付けたときに画像が表示されなくなったので調査したときの覚書。 環境: WordPress 6.5.2 おそらくog:imageに日本語が含まれているから。 PHPのurlencodeを使うとスラッシュとかもエンコードしてしまうので、日本語部分だけをURLエンコードしたい。 いろいろ調べた結果、WordPressのformatting.phpにある「utf8_uri_encode」を使うのが簡単そう。 確認はシェアデバッガーを使う(旧名はFacebook linter)。 シェアデバッガー - Meta for Developers 【関連記事】 ホームページにOpen Graphを埋め込んでFacebookにURLを張り付けられたときの見え方をコントロール