フォーラムをリニューアルしました!
今後は、新フォーラムをご利用ください。
【SWELLではページ内ジャンプでスムーズスクロールを解除して飛び先に着地する設定の切り替えはありますか?】 < SWELLに関する質問
初めまして、
SWELLを購入させていただきましたRHと申します。
搭載機能の画像LazyloadをONにすると目次ジャンプがズレてしまいます。。。
調べてみたところ、遅延させるなら画像の高さを先に読みこむ必要があり、
画像の高さを指定する必要があるなどが原因のようでした。
直接アップロードした画像はサイズ指定できてるようでズレは許容範囲内に収まっている感じなのですが、
- Amazonの画像リンクがあるページが大幅にズレる
- ロード完了後時間差で表示がズレる
などがあり、今のところ画像のLazyloadをOFFにしています。
ただ、調べてる中で『スムーズスクロールを解除するとズレない』という記事も見かけました。
SWELLではスムーズスクロールを解除して飛び先にすぐ着地できる設定の切り替えなどはありますでしょうか?
もしできてもそれで解決しない可能性も高いかもと感じますが、
何かその切り替えなどを私が見つけられてないだけの可能性もあると思い、
質問させていただきました。
サポート外な質問でしたら申し訳ありません......
よろしくお願いいたします。
<(_ _)>
=============
対象ページURL
https://imagegen7.net/tabele-and-jamp-test/
パス:33221
※テストサイトの非公開ページにて色々試してみております...
WordPress 5.4.2
SWELLバージョン: 2.1.9.1
SWELL CHILDバージョン: 1.0.0
macOS Mojave10.14.6
ブラウザ:safari
サーバ;さくらスタンダード
ーーーーーーーーーーーーーーーーーーーーー
使用プラグイン
AddQuicktag
TinyMCE Advanced
→この2つは停止しての確認はしてみました
AdSense Integration WP QUADS
All In One SEO Pack
All In One WP Security
BackWPup
Broken Link Checker
Category Order and Taxonomy Terms Order
Contact Form 7
Edit Author Slug
Highlighting Code Block
Optimize Database after Deleting Revisions
Simple Lightbox
WordPress Related Posts
WP Multibyte Patch
===================
画像のlazyloadを使用する時にどうしても出てくる問題ですね...。
ただ、SWELLのLayloadをオンにしている場合、widthとheight属性を読み取ってスクロール時のズレがないような対策は施していて、widthとheight属性がない場合でもメディア情報からサイズを取得して自動で出力するようにもしています。
しかし、WordPressの「メディア」に登録されていない「外部の画像」などはメディア情報を取得できないので、widthやheightの計算ができないです。
なので、そういった外部の画像などを使用する場合でもスクロール位置を絶対にずらしたくないという場合は、手動でimgタグにwidthとheight属性まで書いていただくか、lazyloadをオフにするか、メディアに一度画像をアップロードしてから使用するか、ですかね...。
また、外部の画像などを多用してしまっているページだけLazyloadをオフにしたいという場合は、
add_action( 'wp', function() {
if ( is_single(' 対象の投稿のID' ) ) {
$The_Content = SWELL_THEMEHooksThe_Content::get_instance();
remove_filter( 'the_content', [ $The_Content, 'add_lazyload' ], 12 );
}
} );
という形でその特定のページに対してだけremove_filterしていただければと思います。