質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

2回答

2321閲覧

wordpressで画像に勝手に入ってしまうwidth/heightを削除したいです

miyanari

総合スコア9

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2020/08/14 03:08

編集2020/08/14 04:08

前提・実現したいこと

wordpressを5.5にアップデートした所、imgタグにに勝手にwidth/height入ってしまい画像が縦伸びしてしまったため、そちらを削除したいと思いfunctions.phpに下記を追記したのですが削除されず画像が伸びたままになってしまいます。
初歩的なご質問で申し訳ございませんがご教授いただけますと幸いです。

参考サイト
https://100webdesign.jp/services/wordpress/wp_result/wp_result-132/

追記

下記を参考にLazy-loadは無効化できたがwidth/heightが残ってしまう。
https://www.nichepcgamer.com/archives/how-to-disable-sitemap-and-lazy-loading.html

該当のソースコード

php

1add_filter( 'post_thumbnail_html', 'remove_width_attribute', 10 ); 2add_filter( 'image_send_to_editor', 'remove_width_attribute', 10 ); 3 4function remove_width_attribute( $html ) { 5 $html = preg_replace( '/(width|height)="\d*"\s/', "", $html ); 6 return $html; 7}

試したこと

下記サイトのものも入れて見ましたがダメでした。
https://hirashimatakumi.com/blog/4723.html
https://www.nxworld.net/wordpress/wp-remove-image-attribute.html

記事を見ている感じ5.5から実装されているLazy-loadが原因っぽいです。
https://www.suzukikenichi.com/blog/wordpress-is-planning-to-support-native-lazy-loading/

Lazy-loadを無効化しようと思ったのですが初心者すぎて第4引数がわからず...
https://www.netimpact.co.jp/diary/23076/

補足情報(FW/ツールのバージョンなど)

wordpressのバージョン5.5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

image_send_to_editorは『Filters the image HTML markup to send to the editor when inserting an image.』なので既存の記事には効かない。

wordpressを5.5にアップデートした所、imgタグにに勝手にwidth/height入ってしまい

そもそも以前からあったものなので5.5だからというわけではない。

とりあえずこうしておけば入ってしまったものは見えなくなるはず

add_filter( 'the_content', function( $html ){ $html = preg_replace( '/(width|height)="\d*"\s/', '', $html ); return $html; } );

Lazy-loadを無効化しようと思ったのですが初心者すぎて第4引数がわからず...

add_filter( 'wp_lazy_loading_enabled', '__return_false' );

投稿2020/08/14 04:11

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyanari

2020/08/14 04:15

ありがとうございます! 無事直りました。 今後もっと勉強します…! お二方ともご協力ありがとうございまいた。
guest

0

wp_get_attachment_image_srcにかかってるフィルタでサイズを削除

php

1 add_filter('wp_get_attachment_image_src',function($image){ 2 return [$image[0],false,false,$image[3]]; 3 });

正規表現を使ってhtmlコードを加工するやり方は好かんです

投稿2020/08/14 03:36

KazuhiroHatano

総合スコア7834

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KazuhiroHatano

2020/08/14 04:14

問題になっているのはどのように出力した画像のコードなのでしょうか? 回答のやり方はthe_post_thumbnailやwp_attachment_imageによって 出力されるimgタグであればwidth height属性は除去できます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問