モデレーター
まーちゅう
(@rocketmartue)
こんにちは。
この問題を修正するプルリクエストはマージされていますが、WordPress 本体にはまだとりこまれていません。
https://github.com/WordPress/gutenberg/pull/66751
WordPress 6.8 (2025年4月15日) でリリースされるようです。
https://github.com/WordPress/gutenberg/issues/54262#issuecomment-2573785736
6.8がリリースされるまでのとりあえずの対応としては、Gtenberg プラグインをインストールすることで相対パスでも編集画面に画像が表示されるようになります。
6.8リリース後は、Gtenberg プラグインは特に必要ないので無効化してください。
画像パスを相対パスにすると、管理画面からアップロードした画像でも画像サイズ固定されて画像サイズが選択できなくなるのと、srcset 属性も出力されなくなるので、ケースバイケースで使い分けされるのがいいのかなと思います。
ありがとうございます!
画像パスを相対パスにすると、管理画面からアップロードした画像でも画像サイズ固定されて画像サイズが選択できなくなるのと、srcset 属性も出力されなくなるので、ケースバイケースで使い分けされるのがいいのかなと思います。
これは、Gtenberg プラグインを利用したときの話でしょうか?
モデレーター
まーちゅう
(@rocketmartue)
Gtenberg プラグインに関係なく、画像ブロックのデフォルトの仕様です。
画像のサイズは「幅」を入力することで変更していまして、
それは以前と同様にできています。
サイズに関しておっしゃっているのは「解像度」のところでしょうか?
そこも以前は選べたように記憶しているのですが、
今は「フルサイズ」しか選べないようになっています。
ただそれは絶対パスで配置しても同様です。
srcset 属性も、
絶対パス/相対パスいずれも出力されているようです。
次のコードをfuctions.phpに書いてるのですが、想定されているのと違いますでしょうか?
function xxx( $url ) {
$regex = '/^http(s)?:\/\/[^\/\s]+(.*)$/';
if ( preg_match( $regex, $url, $m ) ) {
$url = $m[2];
}
return $url;
}
add_filter( 'wp_get_attachment_url', 'xxx' );
モデレーター
まーちゅう
(@rocketmartue)
解像度のところです。
デフォルトの仕様の話をしているので、ご自身でカスタマイズされているのなら挙動は変わってくると思います。
ご提示のコードは「URL からドメイン部分を除去して相対パスを返す」という点では正しく動作すると思います。
ただし、WordPress やプラグイン側が「絶対パスでのレスポンス」を期待しているケースも多いので、このフィルターを使うことで意図しない不具合(画像が表示されない、他プラグインと競合する 等)が起こる可能性はあります。
元々の質問から少し脱線してきているので、問題が解決したらトピックを閉じて、別の質問としてトピックを立ててください。
少々混乱してきたので確認させてください。
元々の質問は、
お示ししたコードにより画像を相対パスに変えたときに
管理画面の画像ブロックで画像が表示されない件についてですが、
お示ししたコードによるカスタマイズの場合の問題も6.8で改修予定という認識で合ってますでしょうか?
モデレーター
まーちゅう
(@rocketmartue)
現時点で Gtenberg プラグインをインストール、有効化で問題が解決するのであれば、6.8で改修されます。
もし、 Gtenberg プラグインをインストール、有効化しても問題が解決しない場合は、どこに原因があるのかを特定するのには、情報が少なすぎるので、問題解決のためのチェックリスト の「投稿に記載する内容」を参考に、もう少し詳しい情報を記載してみてください。
Gtenbergプラグインをインストールしたら表示されましたので、
6.8リリースを待ちたいと思います。
ありがとうございました。