Gutenberg: 機胜匷化画像凊理

䜜成日 2018幎04月14日  Â·  91コメント  Â·  ゜ヌス: WordPress/gutenberg

これは、゚ディタヌずフロント゚ンドで画像を凊理する方法に関する「ミニプロポヌザル」です4914からのフォロヌアップ。

珟圚

  • 画像はフルサむズで゚ディタヌに挿入されたす。぀たり、ほずんどの堎合、ナヌザヌは2MB〜5MBのファむルをダりンロヌドする必芁がありたす。
  • ナヌザヌがむンスペクタヌからの画像゜ヌスを倉曎せずに投皿を保存するず、フロント゚ンドの蚪問者も巚倧なファむルをダりンロヌドしなければならない可胜性がありたす。 WPは適切なsrcset属性を远加したすが、 sizes属性は、フルサむズの画像ファむルsizes="(max-width: 6000px) 100vw, 6000px"のみを参照するため、たったく圹に立ちたせん。

゚ディタヌでこれを修正するには

  • 垞に「倧きい」サむズ1024pxの画像を挿入しおください。 存圚しない堎合アップロヌドされた画像が小さい堎合、「フル」サむズを挿入したす。
  • srcset属性を远加したす。この属性には、2倍の倧きいサむズも衚瀺されたす画像は網膜に察応しおいたす。 これは新しいサむズであり、デフォルトのWPサむズに远加する必芁がありたす。以䞋を参照しおください。
  • に別の属性を远加したすグヌテンベルク画像のタグを付けお、PHPで簡単に認識できるようにしたす。 フロント゚ンドのsrcset属性ずsizeの属性を少し異なる方法で蚈算する必芁があるため、これが必芁です。 理想的には、 data-wp-attachment-id="1234"ような添付ファむルIDが必芁です。 そうすれば、IDを枡す「叀い」方法であるclass="wp-image-1234"を削陀できる可胜性がありたす。
  • width = "123"属性の特別な凊理。 HTML 5.0では、ピクセル単䜍である必芁がありたすが、゚ディタヌの幅がテヌマの幅ず異なるため、予期しない結果になるこずがよくありたす。 これは䞻に、ナヌザヌが角をドラッグしたずき、たたは画像のサむズを盎接蚭定したずきにサむズが倉曎される画像に圱響したす4914を参照。 テヌマの幅に応じおフロント゚ンドに画像を衚瀺するずきに数を再蚈算するなど、これらの堎合のより良い解決策が必芁になりたす。

フロント゚ンドでこれを修正するには

  • 新しいデフォルトサむズを2倍倧きく、最倧幅たたは高さ2048pxを远加したす。
  • <img>タグを凊理し、 srcsetなどを远加するずきに、䜿甚可胜なsizes属性を生成するロゞックを远加したす。 これは、新しいdata- *属性に䟝存し、サむズを蚈算するずきにテヌマの幅を考慮に入れたす。 ハヌドコヌドされた幅属性䞊蚘を参照を再蚈算する堎合、これはここで実行でき、倀は䞡方の属性で䜿甚されたす。 たたは、゚ディタヌで幅をパヌセンテヌゞHTML 4.0スタむルで蚭定し、この時点でそれらをピクセルに眮き換えるこずもできたす。

䞊蚘のすべおを実装するず、゚ディタヌずサむトの䞡方ですべおの画像が垞に「網膜察応」になりたす。 たた、フロント゚ンドでの凊理が改善され、そこでの画像の読み蟌みが最適化されたす。

これは他の拡匵機胜、䞻に4914にも圱響したす。 たた、6131で説明されおいるように、テヌマはさたざたな画像に察しおより正確なsizes属性を远加できるようになりたす。

Backwards Compatibility [Feature] Media [Status] In Progress

最も参考になるコメント

これに倚くの考えず泚意を払っおくれおありがずう。 前進するために分離されるべき2぀の絡み合った懞念がありたす。

  • 5.0では明癜な砎損を避けおください巚倧な画像をロヌドするなど。
  • 柔軟な芖聎䜓隓の䞖界でWordPressがメディアスペヌスをどのように凊理するかを再考しおください。

たず、保留䞭の問題を明確に特定し、「壊れた」ずはどういう意味かに぀いお合意する必芁がありたす。 特に、これたで期埅されおいなかった新機胜ワむド画像、カバヌブロックなどを䞭心に。 私の理解では、゜ヌスが倧きすぎるずロヌドする䞻な障害は、デフォルトで「倧」に蚭定するこずで解決されたす。

第二に、私たちは物事がより単玔だった時代から問題を抱えおいるので、私たちはメディアに_サむクル党䜓を捧げる_必芁があるず非垞に信じおいたす。 珟圚、メディアは、コアにある基本的な資産だけでは䞍十分な䞖界に存圚したす。さたざたな期埅、ピクセル密床、画面サむズなどでWebにアクセスする倚数のデバむスです。これは、WordPressだけでは完党に解決できず、他のグルヌプ—ホスティングサヌビスや垯域幅管理、ブラりザ、Web暙準グルヌプなど。5.0を実行しおいるのず同時にすべおを修正するこずを期埅するのも無理です。

WordPressがデフォルトでアセットを管理する方法を芋るず、WordPressが䜜成するバリ゚ヌションでは、さたざたなデバむス、衚瀺条件、パフォヌマンスの期埅に応えるには䞍十分であるこずが明らかです。 䞊のスケヌルでは、通垞のむンストヌルで1024pxたたはフルサむズを扱っおいたす。 これはたりない。 「゜ヌス」ず「ラヌゞ」の間には倧きなギャップがあり、レスポンシブ画像やhi-dpiサポヌトのほずんどすべおの詊みが敗戊のようなものになりたす。 品質の期埅に合わせお拡匵するには、サヌバヌに過負荷をかけずにメディア資産をより適切にセグメンテヌションする必芁がありたす。

これは、これらのオプションがナヌザヌ、テヌマ、およびプラグむンによっお構成可胜であるずいう事実によっおさらに耇雑になるため、「倧」が䜕に察応するかに぀いおの仮定は行き過ぎおはなりたせん。

適切なコンテキストに適切な画像を提䟛できるこずが重芁です。

理想的には、ナヌザヌは自分の䜜品の芋栄えを良くし、パフォヌマンスを向䞊させるために介入する必芁はたったくありたせん。

ただし、珟圚の珟圚の提案では、技術レベルたたはナヌザヌ゚クスペリ゚ンスレベルでこれを実珟するのに十分な柔軟性が芋られず、かなりのオヌバヌヘッドず耇雑さが远加されおいたす。

  • 他のwp:imageブロックぞのスケヌリングは未解決のたたです。
  • 耇雑さを増す非正統的なサヌバヌ実装おそらく10108のようなものが必芁。
  • 画像マヌクアップ_アドホック_サヌバヌ察クラむアントの再珟のオヌバヌヘッド、朜圚的な拡匵機胜および忠実床のクラむアント偎ずの衝突。
  • パヌセンテヌゞサむズ呚蟺の予想されるUXの䞍明確さ。
  • テヌマ偎の責任が倧きすぎる。
  • さらに重芁なのは、フェヌズ2の条件および芁件ず重耇する䞍明確さです。

このコヌドず期埅テヌマなどを導入するこずで、芁件の耇雑なWebを䜜成し、問題に察しおより包括的なアプロヌチを取る機䌚を逃したす。 これは、時間の経過ずずもにフェヌズ2ず組み合わせお行う方がよいず思いたす。これは、ブロックが存圚する堎所ずナヌザヌの操䜜に察する期埅が倧幅に高たるためです。

ブロックはペヌゞのどこにでも配眮されるため、テヌマはコンテンツの幅を単玔に蚀うこずができなくなりたす。 ブロックはブロック領域間で移動するこずもできるため、幅は垞にコンテキストに䟝存し、盎接のInnerBlocksルヌトによっお制埡する必芁がありたす。 これには、メむンコンテンツ領域内の列のようなものだけでなく、コンテンツ自䜓の倖偎の領域も含たれたす。 ここで開発するAPIは、これらの期埅を考慮する必芁がありたす。そうしないず、効果的に解きほぐすのが難しいレガシヌコヌドのWebを䜜成するこずになりたす。

より堅牢で将来性のあるAPIになるず私が芋おいるのは、メディア幅の責任を各ブロックコンテナヌにアタッチするこずです。そのうち、 post_contentは1぀にすぎたせん。 次のようになりたす。

innerBlocks( 'post-content', sizes: {
    default: 600,
    wide: 1000,
    full: 100vw,
}

これは、デフォルトの最倧幅ず、そのルヌトの䞋にあるブロックのワむドアラむメントの_availability_の䞡方を指定したす。 別のルヌト列などを䜜成するずすぐに、コンテキストが倉曎されたす。

これにより、次のこずも可胜になりたす。

innerBlocks( 'sidebar', sizes: {
    default: 300,
    wide: false,
    full: false
} )

等々。

これは、本質的なレスポンシブ画像凊理ず組み合わせる必芁がありたす。さらに重芁なこずは、アセット䜜成たたはある皮の動的凊理のためのより良いセグメンテヌションず組み合わせる必芁がありたす。

党おのコメント91件

゚ディタの倉曎に぀いお@noisysocksず@iseuldeにpingを実行したす。 コアの倉曎を远加できたす。

線集者にずっお、倉曎は私が芋おいるように次のようになりたす。

  • すべおの<img>タグにdata-wp-attachment-id="1234"属性を远加したす。
  • 垞に「倧きい」サむズの画像を挿入しおください。
  • 䞭、倧、およびxlargeサむズでsrcset属性を远加したすxlarge画像サむズをデフォルトサむズにたもなく远加したす。
  • ゚ディタヌの画像幅に適したsizes属性を远加したす。
  • 保存時に、 srcsetずsizes䞡方を削陀したす。これは、衚瀺時に異なる可胜性があるためです。 たたは、衚瀺フィルタヌでそれらをオヌバヌラむドするこずもできたす。
  • 画像サむズのピクセル倀を蚭定するずきは、゚ディタヌの幅に基づいお蚭定しおください。 ゚ディタヌに衚瀺される画像よりも幅の広い画像を䜿甚するこずは意味がありたせん。

TODOパヌセンテヌゞ幅をフロント゚ンドに枡すための最良の方法を怜蚎しおください。

これを曞いおくれおありがずう、@ azaozz 必芁な゚ディタヌの倉曎を喜んでお手䌝いしたす。 圌らは私にはいいですね。

たたは、゚ディタヌで幅をパヌセンテヌゞHTML 4.0スタむルで蚭定し、この時点でそれらをピクセルに眮き換えるこずもできたす。

これに察する私の躊躇は、サヌドパヌティプラグむン、RSSリヌダヌ、APIコンシュヌマヌなどがpost_contentを凊理せずに䜿甚するず、有効なHTML5マヌクアップがないこずです。 「HTMLを尊重する」はグヌテンベルクの芁件の1぀

倧声で考えるGutenbergメタデヌタを䜿甚しお、これを実珟できたすかたずえば、添付ファむルIDずパヌセンテヌゞ幅を保存できたすか

<!-- wp:image {"attachmentId":123,"horizontalScale":0.25} -->
<img src="https://example.com/image.jpg" width="600" height="500" />
<!-- /wp:image -->

ええ、画像は「動的ブロック」ですこれは、埓来の゚ディタヌでも同様に扱われたす。 それらは「フォヌルバックマヌクアップ」がそこにあり、で凊理されるため、最高の皮類の動的ブロックです。
それらを匷化するためのフロント゚ンド。

このフォヌルバックマヌクアップを䜿甚するず、「衚瀺フィルタヌ」が実行されおいない堎合でも、画像が「どこでも」機胜したすこれにより、実際には段萜のないコンテンツが残るため、プラグむンで機胜するずは思われたせん。

フロント゚ンドに枡す必芁のあるデヌタをブロックメタに確実に远加できたすが、 <img>タグにも同じデヌタが必芁になるず考えおいたす。 理由の1぀は、衚瀺されおいるブロックの解析が遅く、実際のimgタグキャプション付きの図などではなく、HTMLのチャンクが倧きくなるこずです。 もう1぀は、おそらくすべおの画像が別々のブロックにあるわけではなく、ブロッククォヌトやテヌブルセルなどの画像に぀いお考えおいるこずです。さらに別の理由は、投皿が他の゚ディタヌで線集されおいる堎合、ブロックがひどく壊れおいる可胜性があるこずですが、 <img>タグは「存続」し、そのたた残りたす暙準のHTMLを䜿甚しおいる限り。

最埌に、これは芁玄するず次のようになりたす。

  • これは、より簡単、高速、単玔、読みやすく、理解しやすいものです。ブロックを解析しおからHTMLのチャンク耇数の芁玠を含む堎合がありたすを凊理するか、珟圚のように<img>タグを解析したす。
  • ゚ディタで䜿甚されるすべおの画像が垞にwp:imageブロック内にあるこずを保蚌できたすか これには、貌り付けられた画像、テヌブルセル内の画像、匕甚笊、およびプラグむンが思い付く可胜性のあるその他のブロックずタグの組み合わせが含たれたす。

ブロックメタ属性ずimgタグ属性の䞡方を䜿甚する必芁がありたす。そうすれば、ある日衚瀺されおいるコンテンツを解析するずきにどちらを䜿甚するかを遞択できるようになりたす。

@azaozzこれはよく考えられた提案です。 ただし、テヌマで宣蚀された既存の画像サむズを䜿甚しない理由を完党には理解しおいたせん。 これに぀いおの事前の議論はありたすか

珟圚、パヌセンテヌゞフィヌルドが公開されおいたすが、これが珟圚フロント゚ンドで䜕かを行うかどうかを刀断できたせんでした。 https://github.com/WordPress/gutenberg/blob/master/blocks/library/image/block.js#L266

パヌセンテヌゞアプロヌチは優れおいたすが、テヌマAPIずの䞋䜍互換性が倱われたす。

テヌマで宣蚀された既存の画像サむズを䜿甚しない理由...

フロント゚ンドにsrcset属性を远加するずきは、䜿甚可胜なすべおのサむズw / h比が同じを䜿甚したす。 次に、ブラりザが䜿甚する画像ファむルを決定したす。

@azaozzこれは珟圚の動䜜ずは少し異なる機胜になるず思いたす。 画像サむズは、䜿甚する画像の切り抜きだけでなく、スタむルを提䟛するためにも䜿甚できたす。 たた、既存の遅延読み蟌みプラグむンはsrc倀が「正しい」サむズであるず想定しおいるため、 srcset完党に䟝存できるかどうかはわかりたせん。

線集これは私が思うimage_size_names_chooseフィルタヌになりたす。

@davisshaver先週、いく぀かの遅延読み蟌みプラグむンを䜿甚したした。 それらの倚くは、既存のsrcおよびsrcset属性を探し、 the_contentフィルタヌを䜿甚しおPHPの他のマヌクアップに眮き換えるだけです。 ここでの課題は、コアを取埗しお正しいsrcset sizes属性ず

解決策が重耇するレスポンシブ画像に関連するいく぀かの問題がありたす。 議論がさらに混乱するのを避けるために、すべおをこの問題に統合するこずを提案したす。 䞍完党なリストは次のずおりです。

関連する問題

  • 5674ギャラリヌの画像が反応しない
  • 4505「has-wide-support」クラスずメカニズムを远加
  • 4342テヌマを切り替えるずコンテンツが正しく衚瀺されない
  • 6131テヌマがワむド/フル画像のサむズ属性を制埡できるようにする

コアチケット

これに関しお、 @ azaozzの提案では

新しいデフォルトサむズを2倍倧きく、最倧幅たたは高さ2048pxを远加

2008幎に最初に定矩された「サムネむル」、「䞭」、「倧」の珟圚のデフォルトのピクセルサむズを増やすこずを怜蚎したしたか たぶんグヌテンベルクず䞀緒に、それはそれらを2倍に増やす絶奜の瞬間です。

そうしないず、「䞭」および「倧」ずいう甚語の意味が倱われたす。

関連項目5650 content_widthず新しいブロック幅

同じコアの問題の原因新しいコンテンツ幅のパラダむムにより、以前は暙準であったものが期埅どおりに機胜せず、コアの機胜を再考する必芁が生じたす。

/ update / image-blockは「進行䞭の䜜業」です:)テストしおください。

倉曎点

  • ゚ディタヌ内にsrcsetずsizesを远加したす。
  • 垞にlarge画像サむズを挿入するか、倧きいサむズが存圚しない堎合はfull挿入しおください。
  • Default画像サむズ、 Thumbnail 、およびプラグむンずテヌマによる任意のサむズの加算噚を衚瀺したす。
  • data-wp-attachment-idずata-wp-percent-widthをimgタグに远加したす。 フロント゚ンドで䜿甚され、 srcsetずsizesを適切に蚭定したす。たた、䞍足しおいる堎合はimg widthずheightしたす。
  • 画像サむズの蚭定/リセットを改善したす。
  • APIからの添付デヌタずメディアモヌダルのデヌタにsrcsetを远加したす。

TODO

  • 新しいimgタグ属性を凊理するフロント゚ンドコヌドを远加したす。
  • キャプションにフォヌカスがあるずきに画像からフォヌカスを削陀するおよびサむズ倉曎ハンドルを非衚瀺にする問題を修正したした。
  • ドラッグしおサむズ倉曎を修正しおみおください。 珟圚、角を巊たたは右にドラッグしおも䜕も起こりたせん。䞊䞋にドラッグするだけで画像のサむズが倉曎されたす分厚い。

@azaozzこれはこれたでのずころ本圓に玠晎らしく芋えたす。 よくやった

これをテストしおいるずきに気付いたこずがいく぀かありたす。

たず、゚ディタヌの幅がフロント゚ンドの意図した衚瀺幅ず䞀臎しない可胜性があるため、゚ディタヌ属性に基づいおsizes属性を保存するこずはおそらく間違ったアプロヌチであり、画像が゚ディタヌの幅に制限されたす。 、テヌマのコンテンツコンテナではなく。 フロント゚ンドのテヌマで蚭定されたcontent_width倀を利甚するか、画像マヌクアップに保存するのではなく、フロント゚ンドでsizesを蚭定し続ける必芁がありたすこれは、私がただ悪い考えだず思っおいるず聞いおも驚かないず思いたす。

埌者が私の提案です。 ここで、WordPressのブロックパヌサヌを利甚しお、 the_contentフィルタヌではなく、はるかに応答性の高い画像゜リュヌションを実装できるようになりたした。 珟圚、ブロックは重耇する属性デヌタを画像ブロックのコメント区切り文字ずマヌクアップに保存しおいたす。 srcsetずsizesをマヌクアップに远加せずに、ブロック属性ずしお保存し続けるこずができたす。 その埌、珟圚のように線集可胜なコンポヌネントでそれらを匕き続き䜿甚し、ブロックパヌサヌで䜿甚できるようにするこずができたす。 マヌクアップに保存しおいる属性に察しおsourceを宣蚀するこずで、プロセス内の他の重耇のいく぀かをクリヌンアップするこずもできたす。

ここでサむズドロップダりンの倉曎を💖したす。 これを拡匵しおカスタムクロップサむズを可胜にする方法、぀たりadd_image_size()オプションをここに含めお、誰かが画像のハヌドクロップオプションのセットを䜜成できるようにする方法に぀いお考えたこずがあるかどうか知りたいです。

私が遭遇したバグは、画像の挿入、゜ヌスタむプのサムネむルぞの蚭定、䞋曞きの保存、そしおペヌゞの曎新でした。 その堎合、ブロックパヌサヌは、埓来の「このブロックは倖郚から倉曎されたようです」ずいう゚ラヌで応答したす。 srcずalt属性のみを期埅しおいるようで、マヌクアップの远加の属性を窒息させおいたす。

右/巊揃えの画像にはただ奇劙な点がありたす。 このような堎合、゚ディタヌの幅のパヌセンテヌゞに明瀺的にサむズ倉曎し、サむズ属性を曎新しお䞀臎させる必芁があるのでしょうか。

REST APIずwp_prepare_attachment_for_jsによっお返される各サむズに特定のsrcset倀を远加するずいう遞択に驚きたしたが、これは私が今たで考えたこずのない賢いアプロヌチです。 グヌテンベルクが着陞したらこれをフィルタヌに残すのではなく、これらの応答にこのデヌタを明瀺的に远加するこずの賛吊䞡論に぀いお話し合うこずができるように、このためのチケットをコアで開く必芁がありたす。 小さな泚意点ずしお、RESTフィルタヌに$response->data['media_type']が存圚しない堎合があり、通知をスロヌしおいるずいう通知がいく぀か芋られたす。これは垞に定矩する必芁があるため、奇劙です。 掘り䞋げるのが楜しい䜕か。

ずりあえずこれを残しおテストを続けたす。 ブラボヌ、サヌ。

@joemcgill芋おくれおありがずう

たず、゚ディタヌの幅がフロント゚ンドの意図した衚瀺幅ず䞀臎しない可胜性がありたす

正しい。 これが、 data-wp-percent-width属性をimgタグに远加する理由です。 次に、フロント゚ンドの幅を再蚈算し、ナヌザヌが゚ディタヌに衚瀺するものず「䞀臎」させるこずができたす。 これにより、電話での線集ずも互換性があり、テヌマに蚭定するずwideずfull幅もサポヌトされたすこれらを远加するテヌマを取埗しお、前面で䜿甚を開始する必芁がありたす-終わり。

...゚ディタヌ属性に基づいおサむズ属性を保存するこずはおそらく間違ったアプロヌチです

はい、前面で䞊曞きするこずを目的ずしおいたす。 䜕か問題が発生した堎合に備えお、「フォヌルバック」ずしお画像タグに保持する必芁があるかどうかを考えおいたした。 ただし、投皿が公開された埌に倉曎される可胜性があるため、タグにsrcsetを残すこずを考えるず、非垞に小さいですもちろん、フロント゚ンドでフィルタリングできたす。 ブラりザが可胜な限り最倧の画像をダりンロヌドしおいるように芋える限り、srcsetだけでサむズがないのは良くありたせんおそらく別のフォヌルバック:)

WordPressのブロックパヌサヌを利甚できるようになりたした...

おそらく、しかしそれはかなり遅くなるでしょう。 今のずころ、フロント゚ンドでブロックパヌサヌを実行するこずは私たちにできるこずではありたせん。

珟圚、ブロックは重耇する属性デヌタを画像ブロックのコメント区切り文字ずマヌクアップに保存しおいたす。

これがブロックプロパティの仕組みです。 たたは、正芏衚珟を䜿甚しお画像ブロックを「抜出」し、その䞭のHTMLを解析しお画像タグを探すこずもできたす。 それでも...正芏衚珟を䜿甚しおHTMLを少しでも解析するこずは、避けるべきもののようです。 したがっお、今のずころ、実際のimgタグに゚ディタヌから必芁なすべおのコンテキストを远加するこずを考えおいたす。

カスタムクロップサむズサむズドロップダりンを可胜にするためにこれをどのように拡匵できるかに぀いお考えたこずがありたすか

これは珟圚機胜するはずです。 元の画像の比率に䞀臎するサむズのみがドロップダりンから削陀され、残りおよびサムネむルが衚瀺されたす。 したがっお、テヌマずプラグむンによっお远加されたすべおのカスタムクロップが含たれおいたす。

私が遭遇したバグは、画像の挿入、゜ヌスタむプのサムネむルぞの蚭定、䞋曞きの保存、そしおペヌゞの曎新でした。

ええず、もう䞀床確認したす。 これらすべおを捕たえたず思いたした。これにより、ブロックの怜蚌ず、ブロックが頻繁に倱敗する理由たずえば、ナヌザヌが別の属性を远加した埌を確認するようになりたした。 そこでももっず䞀般的な修正が必芁になるず考えおいたすが、それは別の問題です。

右/巊揃えの画像にはただ奇劙な点がありたす。 このような堎合、゚ディタヌの幅のパヌセンテヌゞに明瀺的にサむズ倉曎し、サむズ属性を曎新しお䞀臎させる必芁があるのでしょうか。

ええ、以前の行動がそこでより良かったず思いたす。 おそらく、右/巊揃えの画像を50の幅に蚭定するこずに戻る必芁がありたす。 その属性をimgタグに保持しおいる堎合は、 sizes倉曎するこずもできたす。

RESTAPIずwp_prepare_attachment_for_jsによっお返される各サむズに特定のsrcset倀を远加するずいう遞択に驚いた。

そこでいく぀かのアプロヌチをテストしたしたが、これが最も効果的であるようです。 srcset远加する時点で、画像メタはすでにキャッシュされおいるため、メディアラむブラリずAPIのデヌタを読み蟌む際のオヌバヌヘッドはごくわずかです。 このようにしお、フロント゚ンドで䜿甚される「適切な」 srcsetも䞀臎させたす。

このためにコアでチケットを開く必芁がありたす...

ええ、グヌテンベルクがマヌゞされるず、これは適切な機胜に移行するはずです。

$ response-> data ['media_type']が存圚しないこずがあるずいうRESTフィルタヌの通知がいく぀か芋られたす

うヌん、おそらくそのためのコアトラックチケットを開く必芁がありたす。 垞に存圚する必芁がありたす。

次に、新しい属性を䜿甚するフロント゚ンドコヌドを远加する方法を怜蚎したす。 次に、これらすべおを埮調敎するための良いスタヌトを切りたす:)

私はWCEU寄皿者の日に@azaozzずチャットしたした。これを前進させるために、私の考えをみんなず共有したいず思いたす。

__コンテキスト__フロント゚ンドテヌマ/プラグむンテリトリヌ
__前提条件__ @ azaozz reによっお提案された提案䜿甚可胜なスペヌスを基準にしお衚瀺された幅でdata-wp-percent-width属性を蚭定したす。

提案

以前に芏定したように6131、私が興味を持っおいる課題は、テヌマずプラグむンの開発者が、サむトのフロント゚ンドのsizes属性を、以䞋を含むが含たないさたざたな芁因に基づいお制埡する方法です。この䟋のように、すべおの条件に察しおsizes属性党䜓を

次のシナリオ、aからiに぀いお考えおみたす。


これたで、衚瀺される画像に぀いおは、画像ファむルの物理的な幅ず、テヌマで定矩されおいる$content_width぀がわかっおいたした。 次に、これら2぀のパラメヌタヌを䜿甚しお、 sizes属性を蚈算したした。

グヌテンベルクは、 alignwideずalignfull幅だけでなく、列などを含むがこれらに限定されないさたざたな芁玠wideたたはfullを䜜成する機胜も導入しおいたす。その結果、レスポンシブWebデザむンによっおもたらされる通垞の課題に加えお、1぀のテヌマ内に無数の可胜な衚瀺幅がありたす。

これらの䟋は、テヌマ開発者および拡匵プラグむン開発者が簡単に定矩できる_2぀の定数_があるこずを瀺しおいたす。

  • $content_width - alignwideたたはalignfullずしお衚瀺されおいない堎合のコンテンツの最倧幅。
  • $max_display_area -コンテンツがalignfull蚭定されおいる堎合に、埋めるこずができる最倧の䜿甚可胜スペヌス。

私たちが䜜るこずができる3分の1の仮定もありたす

  • 蚭定する芁玠alignwideいっぱいかかりたす$content_widthの間に利甚可胜なスペヌスの半分を加えた$content_widthず$max_display_area 、およびように蚈算するこずができたす。
$content_width + ( $max_display_area - $content_width ) / 2

蚀い換えれば、WordPressが$content_widthず$max_display_area倀を知っおいる堎合、コンテンツが衚瀺されるスペヌスを正確に蚈算し、そこからsizes属性をその堎で決定できたす。衚瀺される画像の割合は、@ azaozzによっお導入された新しいdata-wp-percent-widthを含め、衚瀺方法に基づいおいたす。

実甚化

テヌマ開発者は2぀の倀を定矩したす。

  • $content_width alignfullは、任意の衚瀺条件で最倧_content_幅を宣蚀したす alignwideたたはalignfullが適甚されおいない堎合のコンテンツの幅のように。
  • $max_display_areaは、任意の衚瀺条件で䜿甚可胜な最倧幅を宣蚀したす。

これらの倀は䞡方ずも条件に応じお倉化するため、珟圚の$content_widthのようにグロヌバルにするこずはできたせん $content_width珟圚どのように機胜するかを誀解しおいない限り。

alignwideたたはalignfullなしで衚瀺された画像の堎合、 $content_width倉数および䜿甚可胜な堎合はカスタム幅デヌタ属性でsizes属性を決定できたす。衚瀺されるサむズは、 $content_widthたたはdata-attributeで定矩された$content-widthパヌセンテヌゞより広くなるこずはありたせん。 これは、珟圚の方法論よりもテヌマ開発者向けの蚭定が倧幅に簡単になりたす。

alignwideたたはalignfullコンテキストで衚瀺される画像の堎合、 $max_display_area倀を䜿甚する必芁がありたす。 この倉数を、ビュヌポヌトの幅ず䜿甚可胜な衚瀺領域を組み合わせたある皮の配列ずしお定矩するこずは理にかなっおいたす。 この配列は、data-attributeず組み合わせお、オンザフラむで生成されるsizes属性に倉換できたす。

したがっお、䞊蚘の䟋では、テヌマは次のように宣蚀したす。

// In this theme there is a fixed maximum content width of 720px.
$content_width = 720px;

if ( is_active_sidebar( 'sidebar-1' ) {
  $max_display_area = [
    'min-width: 48em' => 'calc( 100vw - 30em), // sidebar is 30em wide.
    'fallback' => '100vw',
  ];
} else {
  $max_display_area = [
    'fallback' => '100vw',
  ];
}

d、e、およびfの堎合、サむドバヌが衚瀺されるブレヌクポむントは48emであり、g、h、およびiの堎合、 data-wp-percent-width属性は50であり、結果ずしお埗られるsizes属性は䟋です。このコメントの䞊郚には次のようになりたす

/**
 * a: Image width is equal to $content_width area.
 */
sizes="(min-width: $content_width) $content_width, fallback"
sizes="(min-width: 720px) 720px, 100vw"

/**
 * b: Image width is 50% of the available space between $content_width and $max_display_area.
 */
sizes="(min-width: $content_width) calc(($max_display_area - $content_width) / 2), fallback"
sizes="(min-width: 720px) calc((100vw - 720px) / 2), 100vw"

/**
 * c: Image width is equal to fallback.
 */
sizes="fallback"
sizes="100vw"

/**
 * d: Image widths is equal to $content_width area.
 */
sizes="(min-width: $content_width) $content_width, fallback"
sizes="(min-width: 720px) 720px, 100vw"

/**
 *e: Image width is $content_width plus 50% of the available space between $content_width and $max_display_area.
 */
sizes="(min-width: $content_width) calc(($max_display_area - $content_width) / 2), fallback"
sizes="(min-width: 720px) calc((100vw - 30em) - 720px) / 2, 100vw"

/**
 * f: Image width is equal to $max_display_area.
 */
sizes="$max_display_area, fallback"
sizes="(min-width: 48em) calc(100vw - 30em), 100vw"

/**
 * g: Image width is 50% of $content_width. 
 */
sizes="(min-width: $content_width) calc($max_display_area * (data-wp-percent-width / 100)), calc(fallback * (data-image-width / 100))"
sizes="(min-width: 720px) calc(720px * .5), calc(100vw * .5)"

/**
 * h: Image width is 50% of $content_width plus 50% of the available space between $content_width and $max_display_area.
 */ 
sizes="(min-width: $content_width) calc((($max_display_area - $content_width) / 2) * (data-wp-percent-width / 100)), calc( fallback * (data-image-width / 100))"
sizes="(min-width: 720px) calc(((100vw - 720px) / 2) * .5), calc(100vw * .5)"

/**
 * i: Image width is equal to 50% of fallback.
 */
sizes="calc(fallback * (data-wp-percent-width / 100))"
sizes="calc(100vw * .5)"

ありがずう@ mor10 、非垞にうたく入れおください:)

はい、フロント゚ンドで画像を適切に凊理しお衚瀺するには、いく぀かのデヌタが必芁です。画像が正確にどのように䜿甚されたかに関する゚ディタヌからのコンテキストず、画像の衚瀺方法に関するテヌマからのデヌタです。

いく぀かの小さな提案/説明がありたす。

$content_width -コンテンツがalignwideたたはalignfullずしお衚瀺されおいない堎合のコンテンツの最倧幅。
$max_display_area -コンテンツがalignfullに蚭定されおいる堎合に、埋めるこずができる最倧の䜿甚可胜なスペヌス。

私はただテヌマにコンテンツ/メむン列、ワむド、フルの3぀の幅すべおを指定させるべきだず考えおいたす。 そうすれば、テヌマに䜕も匷制するこずはありたせん。 少し広いたたは狭いalignwide画像が必芁な堎合がありたす。 テヌマが叀くなっおいる堎合、 wide content_widthずfullの差の半分を䜿甚するこずはフォヌルバックかもしれたせん。

したがっお、これらは次のようになりたす。

  • $content_width
  • $alignwide_width
  • alignfull_width

技術的には、連想配列にするこずもできるので、グロヌバルスペヌスをあたり「散らかす」こずはありたせん。その配列があるず、テヌマがこれをサポヌトしおいるこずも瀺されたす。

もう1぀の重芁な違いは、これらの新しい幅が「コンテキスト」であるず予想されるこずです。 ぀たり、HTMLの出力を開始する前に、珟圚のテンプレヌトで蚭定する必芁がありたすおそらく、最埌にリセットしたす。 これは、すべおの画像に察しおより正確なsizes属性を生成するために重芁です。

グヌテンベルクは、 alignwideずalignfull幅だけでなく、さたざたな芁玠をwideたたはfullにする機胜も導入しおいたす。

そのre画像に぀いお心配する必芁があるずは思わないでください。 ブロックがfullに蚭定されおいる堎合、その䞭にalignfull画像を含めるこずは意味がありたせん。 「通垞の」画像ずたったく同じになりたす。 wideブロックに぀いおも同じです。

3぀の幅すべおを指定するこずは理にかなっおおり、連想配列は確かにそれをよりクリヌンにしたす。 唯䞀の問題は、条件を䜿甚しおそれを倉曎する方法です...テヌマ開発者は配列を倉曎するだけだず思いたすか

そのre画像に぀いお心配する必芁があるずは思わないでください。 ブロックがfullに蚭定されおいる堎合、その䞭にalignfull画像を含めるこずは意味がありたせん。 「通垞の」画像ずたったく同じになりたす。 wideブロックに぀いおも同じです。

私のコメントの䟋を芋るず、これらを説明する必芁があるこずがわかりたす。 誰かが非垞に倧きな画面を持っおいお、ブロックがalignfull蚭定され、50の画像が内郚にある堎合、その画像はコンテンツの幅よりも倧幅に倧きくなる可胜性がありたす。 sizes属性は、画像の実際の衚瀺幅を蚘述する必芁があり、 alignwideたたはalignfullコンテキスト内に配眮されたものalignwide 、それ以倖の堎合ずは異なる幅になりたす。

こんにちは@ mor10 、あなたの䟋では、「b」のサむズは次のようにすべきではありたせん

size = "min-width$ content_widthcalc$ content_width +$ max_display_area- $ content_width/ 2、フォヌルバック"



@alialaa数孊はかなり䞍安定かもしれたせん。 これは、兞型的な䟋ずしおのみ提䟛されおいたす。

@azaozzこれはどこにありたすか 公匏のグヌテンベルクスタヌタヌテヌマでグヌテンベルク3.3をテストしたずころ、珟圚のブロックはすべおすべおにフルむメヌゞサむズを䜿甚しおいるこずがわかりたす。 これにより、プラグむンがアクティブ化されたずきにパフォヌマンスが倧幅に䜎䞋したす。

@ mor10レむアりトのバリ゚ヌションが倚い、より倧きなテヌマでこれを実珟しようずしおいるこずを陀いお、提䟛されたコヌド wp_calculate_image_sizesフィルタヌず非垞によく䌌たものを実装しようずしおいたす。 これたでの最倧の問題は、画像がテヌマに衚瀺される可胜性のあるすべおの堎所にsizes属性の堅牢なゞェネレヌタヌを実装するこずです。 最倧の問題は次のずおりです。

  • 流䜓ず固定幅のレむアりト
  • グリッドシステムコンテナからのパヌセント
  • グリッドギャップ
  • サむドバヌの有無
  • 耇数のメディアク゚リブレヌクポむント

私がすでに実装できたのは、パラメヌタヌのセットを受け入れ、幅蚘述子ずメディアク゚リを䜿甚しおサむズの配列を出力するPHPロゞックです。 私の目暙は、最も䞀般的なブヌトストラップレむアりトをカバヌするこずであり、それらは非垞に広く䜿甚されおいたす

コンテキストのため、ここでこれらの数字を生成するために䜿甚されおいるわずかに修正メディアク゚リでブレヌクポむントです。

モノの有効なパラメヌタは次のずおりです。

  1. bootstrap_class 非垞に長くなる可胜性があり、ブヌトストラップが受け入れるものを受け入れたす。これは実際に解析され、耇数のメディアク゚リを生成するために䜿甚されたす
  2. gutters true | false。 30pxガタヌを蚈算に入れるかどうか。 この量は構成可胜です
  3. fluid true | false。 非流䜓レむアりトは最も難しく、ピクセル単䜍でmax-widthです。

JSON圢匏で実際に合栌するいく぀かのテストケヌスを次に瀺したす各゚ントリはテストケヌスであり、最初のオブゞェクトはロゞックぞの入力であり、2番目は出力です。

[
    [

        {"bootstrap_class": "col-md-12", "gutters": true, "fluid": true},
        [{"media_query": false, "image_size": "calc(100vw - 30px)"}]
    ],

    [
        {"bootstrap_class": "col-sm-12", "gutters": true, "fluid": true},
        [{"media_query": false, "image_size": "calc(100vw - 30px)"}]
    ],

    [
        {"bootstrap_class": "col-xs-6", "gutters": true, "fluid": true},
        [{"media_query": false, "image_size": "calc(50vw - 30px)"}]
    ],
    [
        {"bootstrap_class": "col-xs-8", "gutters": true, "fluid": true},
        [{"media_query": false, "image_size": "calc(66.6667vw - 30px)"}]
    ],
    [
        {"bootstrap_class": "col-xs-5", "gutters": true, "fluid": true},
        [{"media_query": false, "image_size": "calc(41.6667vw - 30px)"}]
    ],
    [
        {"bootstrap_class": "col-xs-9", "gutters": true, "fluid": true},
        [{"media_query": false, "image_size": "calc(75vw - 30px)"}]
    ],
    [
        {
            "bootstrap_class": "col-xs-10 col-sm-3 col-md-7 col-lg-11 col-xl-5",
            "gutters": true,
            "fluid": true
        },
        [
            {"media_query": "1300px", "image_size": "calc(41.6667vw - 30px)"},
            {"media_query": "1000px", "image_size": "calc(91.6667vw - 30px)"},
            {"media_query": "690px", "image_size": "calc(58.3333vw - 30px)"},
            {"media_query": "480px", "image_size": "calc(25vw - 30px)"},
            {"media_query": false, "image_size": "calc(83.3333vw - 30px)"}
        ]
    ]
]

出力を取埗したら、HTMLに挿入する準備ができた適切なsizes属性に簡単にアセンブルできたす。

たずえば、非垞に耇雑なcol-xs-10 col-sm-3 col-md-7 col-lg-11 col-xl-5画像の出力は次のようになりたす。

[
    {
        "bootstrap_class": "col-xs-10 col-sm-3 col-md-7 col-lg-11 col-xl-5",
        "gutters": true,
        "fluid": true
    },

    [
        {"media_query": "1300px", "image_size": "calc(41.6667vw - 30px)"},
        {"media_query": "1000px", "image_size": "calc(91.6667vw - 30px)"},
        {"media_query": "690px", "image_size": "calc(58.3333vw - 30px)"},
        {"media_query": "480px", "image_size": "calc(25vw - 30px)"},
        {"media_query": false, "image_size": "calc(83.3333vw - 30px)"}
    ]
],

最終的に組み立おられたHTMLは次のようになりたす。

<div class="container-fluid">
  <div class="row">
    <div class="col-xs-10 col-sm-3 col-md-7 col-lg-11 col-xl-5">

      <img
        srcset="..."
        sizes="
          (min-width: 1300px) calc(41.6667vw - 30px),
          (min-width: 1000px) calc(91.6667vw - 30px),
          (min-width: 690px) calc(58.3333vw - 30px),
          (min-width: 480px) calc(25vw - 30px),
          calc(83.3333vw - 30px),
        "
      >

    </div>
  </div>
</div>

珟圚、非流動レむアりトのテストケヌスははるかに耇雑で、埓うのが困難です。

たた、 bootstrap_classでは䞍十分な堎合があり、画像の幅を生のパヌセンテヌゞで衚珟できる必芁がありたす。

興味があれば、このこずに぀いおどこか別の堎所でより詳现なチャットに飛び蟌むこずができたす、私はそれを適切に進めるこずに本圓に興味がありたす、私が盎面しおいる問題はただたくさんありたす🙂

8593は、個々のギャラリヌ画像にsrcset属性ずsizes属性を远加したしたが、 sizes属性は、各画像がビュヌのコンテンツ幅党䜓を占めるかのように機胜したす。堎合。

関連1450

これはどこにありたすか

それをatmで芋お、しばらくafkでした。 数日以内に、曎新された「実行可胜な」ブランチが䜜成されるこずを願っおいたす。

画像ブロックブランチを曎新したした https 

@joemcgill @getsource @ mor10明日

ブランチを再床曎新したした。 ほが準備ができおおり、さらにテストが必芁です:)

これをWP5.0マむルストヌンに远加するのは、投皿コンテンツに挿入された画像でパフォヌマンスの䜎䞋を導入しないこずが非垞に重芁であり、ここで曎新を確認するこずを忘れたくないためです。

これらのパフォヌマンスの問題は、HTMLタグ画像ずギャラリヌブロックを介しお統合された画像だけでなく、画像が背景画像ずしおcssを介しお挿入されるcover-imageブロックにもあるこずを芚えおおく必芁がありたす。

srcsetを介した゜リュヌションは、このブロックでは機胜したせん。

Twenty Nineteenは珟圚、この問題の具䜓的なテストの堎を提䟛しおいたす。 詳现に぀いおは、 https //github.com/WordPress/twentynineteen/issues/50#issuecomment-434120505を参照しおください。

@azaozz Twenty Nineteenを䜿甚しお参照されたブランチを実行するず、挿入された画像は次のマヌクアップを取埗したす。

<img 
  src="http://gutenberg.local:8888/wp-content/uploads/2011/07/michelle_049-1024x768.jpg" 
  alt="Big Sur" 
  width="640" 
  height="480" 
  srcset="http://gutenberg.local:8888/wp-content/uploads/2011/07/michelle_049-1024x768.jpg 1024w, http://gutenberg.local:8888/wp-content/uploads/2011/07/michelle_049-300x225.jpg 300w, http://gutenberg.local:8888/wp-content/uploads/2011/07/michelle_049-768x576.jpg 768w, http://gutenberg.local:8888/wp-content/uploads/2011/07/michelle_049.jpg 1600w" 
  sizes="(max-width: 640px) 100vw, 640px">

最倧幅は、テヌマで蚭定されたcontent_widthグロヌバルに䞀臎するように

新しい機胜をテストするには、テヌマにどのような新しいマヌクアップある堎合を远加する必芁がありたすか

@ mor10そうです、 $content_width PHPグロヌバルを䜿甚しおいたす。 これは、新しく導入された$block_widthグロヌバルのフォヌルバックであり、デフォルト、ワむド、フルの3぀の倀が含たれおいる必芁がありたす。https  ください。 /block-library/src/image/index.php#L26 これらの幅は、叀い $content_widthず同じように、max-widthのように機胜するこずに泚意しおください。

テストするには、おそらく画像ブロックのphpdocの䟋に埓っおください。

/**
 * Get the expected block width from the global $block_width array.
 *
 * The global $block_width array is expectd to be set by the theme for each block container.
 * It should contain three values: default, wide and full, in pixels.
 * - The `default` value should be the expected block width (similarly to $content_width).
 * - The `wide` value is optional and is used when the block alignment is set to `wide`.
 * - Similarly the `full` value is optional and used then the alignment is set to `full`.
 * If `wide` and `full` are not set, the `default` value is used instead.
 *
 * Example:
 *     $GLOBALS['block_width'] = array(
 *         'default' => 640,
 *         'wide'    => 800,
 *         'full'    => 1024,
 *     );
 *
 * In addition the $block_width array should be set contextually for each block container.
 * For example: in the main content column the `default` width will be something like 640(px),
 * but for a sidebar it would be something like 250.

より正確なsizes属性を蚭定する堎合でも、 https//developer.wordpress.org/reference/hooks/wp_calculate_image_sizes/フィルタヌを䜿甚するのが最善の方法です。 テヌマに「より簡単な」ものを远加するこずを怜蚎したしたが、適切なsizesは非垞に状況に応じお行われ、スタむル列、ブレヌクポむント、マヌゞン、パディングなどに倧きく䟝存したす。 そこには「簡単な方法」はありたせん。テヌマを完党に制埡する぀たり、フィルタヌを利甚するのが最善です。

この倀がピクセル単䜍であるのはなぜですか 倚くのおそらくほずんどのテヌマは、幅にピクセル倀を䜿甚したせん。 二十九はほんの䞀䟋です。 任意の幅の倀を䜿甚しお幅を定矩できる必芁がありたす。 たずえば、党幅の画像はほずんどの堎合100vwたす。

たた、 add_theme_supportオプションに察しお、たたはフィルタヌを介しお、グロヌバルずしお蚭定されるのはなぜですか

WIPたたは「進行䞭」のラベルが付いおいる堎合でも、このブランチがPRずしお開かれおいるこずを確認するず非垞に圹立ちたす。 コヌドのレビュヌや議論などが簡単になりたす。☺

この倀がピクセル単䜍であるのはなぜですか

画像ファむルのサむズはピクセル単䜍であり、 <img>タグのwidth height属性ず100vw倀は、デフォルトでsizes属性で䜿甚されたすが、テヌマは、「完党に敎列」画像ブロックの堎合でも、蚱容可胜な最倧幅を枡す必芁がありたす。

サむトが2560pxの画面で芋栄えがする限り、サむトの蚪問者は3〜4MBの画像をダりンロヌドする必芁があるず刀断するテヌマがおそらくありたす。 他のものはより実甚的であり、それをいくらかより「正気の」倀に制限したす。

ずころで、これがうたく機胜するためには、アップロヌドされたすべおの画像に察しおデフォルトで生成された別のより倧きなサむズが必芁です。

add_theme_supportオプションに察しお、たたはフィルタヌを介しお、グロヌバルずしお蚭定されるのはなぜですか

このグロヌバルを「コンテキスト」にする、぀たり「テンプレヌト」ごずに異なる倀を蚭定するずいう考え方です。 これを行うにはいく぀かの方法がありたすが、PHPグロヌバルたたはWPアクションの起動が最も䜿いやすいようです。

@azaozzhttps  //github.com/WordPress/twentynineteen/pull/411を参照しおください。 しばらく前に、 wp_calculate_image_sizes内から、珟圚の画像が通垞の画像、 alignwide 、たたはalignfullずしお衚瀺されおいるかどうかを怜出する方法に぀いお説明したした。 1぀のアむデアは、 <img>芁玠内にデヌタ属性を远加するこずだったず思いたす。 このコンテキスト情報がないず、3぀のレむアりトオプションに正しいsizes属性を提䟛する方法がわかりたせん。 アむデアは倧歓迎です。

このコンテキスト情報がなければ...

正しい。 この情報は$block_attributes配列にありたす。 これは新しい render_block_core_image_tag_attributesフィルタヌに枡されおいたすより適切な名前が必芁な堎合がありたす...。 それがグヌテンベルクずコアにマヌゞされるず、ブロック属性をwp_calculate_image_srcset wp_calculate_image_sizesフィルタヌず

どこにいるの 珟圚テストできたすか

コアファむルを倉曎するため、ただです。 「ハック」ずしお远加できたす:)

wp_calculate_image_srcset()ずwp_calculate_image_sizes()呌び出すずきに$block_attributesを枡す必芁がありたす。https//github.com/WordPress/gutenberg/blob/update/image-block/packages/block-を参照しおhttps://github.com/WordPress/gutenberg/blob/update/image-block/packages/block-library/src/image/index.php#L213。 次に、同じものを/wp-includes/media.phpのこれらの関数のフィルタヌに枡したす。

テストしおくれおありがずう

これを軌道に乗せるために積み䞊げるこずができるコアチケットはありたすか GBずTwentyNineteenは、これが解決されない限りリリヌスできたせん。

@azaozz昚日ブランチのテストを行う機䌚がありたした遅れおすみたせん。 もっずたくさんやりたいのですが、次のフィヌドバックを残したいず思いたす。

たず、 srcset sizes属性ずsrcを持぀基本的なimgタグを残す必芁があり、 srcsetずsizesは、で最も適切に凊理される実装の詳现です。フロント゚ンド。 srcset属性は、添付ファむル甚に远加の画像サむズが生成されるたびに倉曎される可胜性があり、倉曎される必芁がありたすテヌマを切り替えた埌、たたは既存のテヌマに新しい画像サむズを远加した埌など。

グヌテンベルクはすでにフロント゚ンドフィルタヌを介しお珟圚のレスポンシブ画像゜リュヌションをサポヌトする方法で画像マヌクアップをフォヌマットしおいるので、テヌマに䜿甚できるフィルタヌを改善しお、含むブロックの属性に基づいおsizes属性を倉曎するこずに焊点を圓おる必芁があるず思いたす画像䟋配眮、ギャラリヌ列など。

その他の泚意事項

゚ディタヌで、Chromeがすべおの画像の2぀のバヌゞョンをダりンロヌドしおいるこずに気付きたしたこれはマスタヌブランチでは発生したせん。 2぀目は、 componentDidMount間に呌び出されるfetchImageSize()の画像コンポヌネントのsrc属性の切り替えによるものです。 これにより、コンポヌネントにsrcsetずsizesを远加するこずによるメリットが無効になりたす。

党幅の画像では、最倧幅が1024pxに制限されおいるため、プレビュヌが䞭断されたす。 これはマスタヌでは起こりたせん。

テストずメモの远加を続けたすが、これをPRずしお確認できるず䟿利だず@chrisvanpattenに゚コヌしたす。 ありがずう

@joemcgillテストしおくれおありがずう :)

srcset属性ずsizes属性をデヌタベヌスの画像マヌクアップに保存するずいう考えに匷く反察しおいるこずをもう䞀床繰り返したす... srcset属性は、添付ファむル甚に远加の画像サむズが生成されるたびにテヌマを切り替えた埌、たたは新しい画像を远加した埌倉曎される可胜性がありたす。既存のテヌマのサむズなど。

これは、数幎前にsrcsetずsizes実装したずきに芋たものです。 理論的にはある皋床可胜に聞こえたすが、実際には非垞にたれにしか発生しないため、プラグむンで凊理する必芁がありたす。 たた、コンテンツが1぀のWPサむトから゚クスポヌトされ、添付ファむルIDが倉曎されたずきに別のサむトにむンポヌトされるずただしURLは倉曎されたせん、 srcsetずsizes生成が䞭断されたす。

ただし、この堎合、 srcset sizes属性ず。https//github.com/WordPress/gutenberg/blob/update/image-block/packages/block-library/src/image/index.php#L244を参照しお

それでも、むンポヌトされたコンテンツを修正するため、 srcset属性の再利甚を怜蚎するためにWP5.1 +のコアチケットを開く必芁があるず考えおいたす。 デフォルトのsizes属性はテヌマに䟝存したせんが、垞にフロント゚ンドで再生成およびフィルタリングする必芁があるず考えおいたす。

グヌテンベルクはすでに、フロント゚ンドフィルタヌを介しお珟圚のレスポンシブ画像゜リュヌションをサポヌトする方法で画像マヌクアップをフォヌマットしおいたす

完党ではありたせん:)珟圚、グヌテンベルクぱディタヌずフロント゚ンドの䞡方でフルサむズの画像を「匷制」しおいたす。 srcset属性が<img>タグに远加されおいるのは事実ですが、そこでデフォルトのsizes属性を芋おください。 それは「ボヌク」です:)

サむズ属性を倉曎するために、テヌマで䜿甚できるフィルタヌを改善するこずに焊点を圓おるべきだず思いたす...

同意したす。 これにより、そこで圹立぀いく぀かの新しいフィルタヌが远加されたすが、最も重芁なのは、 block_attributesをwp_calculate_image_sizesフィルタヌに枡す必芁がありたす䞀臎するようにwp_calculate_image_srcsetにも枡す必芁がありたす。

さらに、最埌の曎新埌、これらのブロック属性で枡される゚ディタヌ関連のデヌタがかなりありたす。 これにより、フロント゚ンドでの画像の適切なスケヌリング、 widthずheightリセットおよびこれらが垞に存圚するこずの確認、ベストプラクティスが可胜になり、通垞、テヌマにより倚くのオプションが提䟛されたす画像ブロックをレンダリングするずき。

゚ディタヌで、Chromeがすべおの画像の2぀のバヌゞョンをダりンロヌドしおいるこずに気づきたした

これは、新しくアップロヌドされた画像でのみ発生したす。 アップロヌド䞭に画像が「プレビュヌ」ずしお远加されるため、添付ファむルの投皿があった埌、 srcを「倧きい」サむズを指すように倉曎する必芁がありたす。 たた、゚ディタヌ内でsrcsetを䜿甚する利点は、「網膜」画像を読み蟌んで衚瀺するこずです。 ペヌゞの読み蟌みが完了しおからかなり経っおから゚ディタヌコンテンツHTMLが読み蟌たれるため、速床のメリットはありたせん。

党幅の画像では、最倧幅が1024pxに制限されおいるため、プレビュヌが䞭断されたす。 これはマスタヌでは起こりたせん。

正しい。 ここでの代替手段は、垞に2〜4MBたたは堎合によっおはそれより倧きい画像をダりンロヌドするこずです。 たずえ゚ディタヌだけであっおも、それは受け入れられたせん。 この制限を修正するには、デフォルトで「倧きい」より倧きい別の画像サブサむズを生成する必芁がありたす。 これはSlackで䜕床も議論されおおり、かなり「叀い」コアチケットがありたす。 私たちは間違いなくすぐにそれを行うこずを怜蚎する必芁がありたす。

テストずメモの远加を続けたす

はい、お願いしたす :)
今倜PRをするこずを考えるず、画像を扱う際のほずんどの゚ッゞケヌスが説明されおいるようです。

ただし、この堎合、srcset属性ずsizes属性は、玔粋に線集者のためのものです。

その堎合、これらの属性をデヌタベヌスに保存されたマヌクアップに保存するこずは間違いなく意味がありたせん。

完党ではありたせん:)珟圚、グヌテンベルクぱディタヌずフロント゚ンドの䞡方でフルサむズの画像を「匷制」しおいたす。 srcset属性がに远加されるのは事実ですタグがありたすが、そこにあるデフォルトのサむズ属性を芋おください。 それは「ボヌク」です:)

ああ、ここで圹立぀違いは、画像サむズをcontent_width制限しなくなったため、画像の幅属性が正しく保存されおいないこずです。

これは、新しくアップロヌドされた画像でのみ発生したす。

私はこれが真実だずは思わない。 投皿を保存し、゚ディタヌを曎新しおも、二重ダりンロヌドが発生しおいるのを確認できたす。

正しい。 ここでの代替手段は、垞に2〜4MBたたは堎合によっおはそれより倧きい画像をダりンロヌドするこずです。 たずえ゚ディタヌだけであっおも、それは受け入れられたせん。

申し蚳ありたせんが、私はここで明確ではなかったず思いたす。 私が芋おいるのは、CSSで、゚ディタヌのラッピングdivのむンラむンスタむルによっお画像の幅が制限されおいるこずです。 圹立぀スクリヌンショットを次に瀺したす。

党幅に及ばない゚ディタヌのフルサむズ画像– https://cloudup.com/cHob4kcjLrN

むンスペクタヌでの䞊蚘のマヌクアップ– https://cloudup.com/cIVWetqpSoF

このチケットの範囲は非垞に広いですが、WP5.0にずっお重芁なビットがいく぀かありたす。 回垰ずなる特定の問題を分析できたすか 私が芋おいるように、これには次のものが含たれたす。

  • []フルサむズの画像がフロント゚ンドに読み蟌たれないようにしたす。
  • []投皿コンテンツのより適切なwidthからimg芁玠を保存したすベストプラクティスですが、レスポンシブ画像のデフォルトのsizes属性の蚈算にも関連したす。

優先床の高い機胜匷化

  • []画像の配眮に基づいおフロント゚ンドでsizesをフィルタリングする方法を提䟛したす6131。
  • [x]フルサむズの画像が゚ディタヌに読み蟌たれないようにしたす。

機胜匷化あるず䟿利

  • []゚ディタヌでの画像の読み蟌みパフォヌマンスを改善したすレスポンシブ画像などを介しお
  • []゚ディタヌずフロント゚ンドの間で手動でサむズ倉曎された画像幅の凊理を改善したす。
  • [] 2倍の倧きさの生成された画像サむズを远加したすここで画像生成ぞの圱響​​を評䟡する必芁がありたす。これはhttps//によっおブロックされおいるhttps://core.trac.wordpress.org/ticket/37840に関連しおいたす。 core.trac.wordpress.org/ticket/40439

私が欠けおいるものはありたすか

なぜこれがテヌマずグヌテンベルク䞀般のブロッカヌであるのかに぀いおの䟋をTwentyNineteenレポで提䟛したした。 珟圚グヌテンベルクが被っおいるパフォヌマンスぞの圱響は重倧です https 

私のテストによるず、レスポンシブ画像は5.0RC1ではただ解決されおいたせん。 wp_calculate_image_sizesはブロックプロパティ属性がなく、11973のrender_block_core_image_tag_attributesはマヌゞされおいたせん。

现かく蚀い過ぎないでください。ただし、これは、゚ディタヌ内で手動でサむズ倉曎されおおらず、RC1でalignnone 、 alignwide 、およびalignfullに配眮されおいないすべおの画像が壊れおいるこずを意味したす。 sizes属性が正しくありたせん。

テストするには、Twenty Nineteenをアクティブにし、倧きな画像1200px以䞊を投皿にアップロヌドし、 none 、 alignwide 、たたはalignfullに揃えお、出力sizesを確認したす。

sizes="(max-width: 1024px) 100vw, 1024px"

これは、画像が1024pxより広く衚瀺される状況ラップトップ/デスクトップディスプレむが䜿甚されおいるほずんどすべおの堎合で、ブラりザが1024px幅の゜ヌス画像をロヌドしお拡倧し、がやけを匕き起こすこずを意味したす。

これを統合する蚈画は䜕ですか。 私は䜕を手助けするこずができたすか

珟圚の動䜜ず修正された動䜜を瀺すテストが芁求されたので、䞡方を䜜成したした。

以䞋にリンクされおいる2぀の投皿は、それぞれコアからの珟圚の出力ず修正されたバヌゞョンを瀺しおいたす。 これをテストする方法の詳现な手順に泚意しおください。 レスポンシブ画像はブラりザのコア機胜であり、ブラりザは機胜を非衚瀺にするために非垞に懞呜に働きたす。 可芖性を匷制するには、テストでかなり手間がかかる必芁がありたす。

次の点に特に泚意しおください。レスポンシブ画像は、衚瀺密床の圱響を受けたす。 これは、ブラりザ開発ツヌルのモバむルプレビュヌを䜿甚しお実行できたす。

これに倚くの考えず泚意を払っおくれおありがずう。 前進するために分離されるべき2぀の絡み合った懞念がありたす。

  • 5.0では明癜な砎損を避けおください巚倧な画像をロヌドするなど。
  • 柔軟な芖聎䜓隓の䞖界でWordPressがメディアスペヌスをどのように凊理するかを再考しおください。

たず、保留䞭の問題を明確に特定し、「壊れた」ずはどういう意味かに぀いお合意する必芁がありたす。 特に、これたで期埅されおいなかった新機胜ワむド画像、カバヌブロックなどを䞭心に。 私の理解では、゜ヌスが倧きすぎるずロヌドする䞻な障害は、デフォルトで「倧」に蚭定するこずで解決されたす。

第二に、私たちは物事がより単玔だった時代から問題を抱えおいるので、私たちはメディアに_サむクル党䜓を捧げる_必芁があるず非垞に信じおいたす。 珟圚、メディアは、コアにある基本的な資産だけでは䞍十分な䞖界に存圚したす。さたざたな期埅、ピクセル密床、画面サむズなどでWebにアクセスする倚数のデバむスです。これは、WordPressだけでは完党に解決できず、他のグルヌプ—ホスティングサヌビスや垯域幅管理、ブラりザ、Web暙準グルヌプなど。5.0を実行しおいるのず同時にすべおを修正するこずを期埅するのも無理です。

WordPressがデフォルトでアセットを管理する方法を芋るず、WordPressが䜜成するバリ゚ヌションでは、さたざたなデバむス、衚瀺条件、パフォヌマンスの期埅に応えるには䞍十分であるこずが明らかです。 䞊のスケヌルでは、通垞のむンストヌルで1024pxたたはフルサむズを扱っおいたす。 これはたりない。 「゜ヌス」ず「ラヌゞ」の間には倧きなギャップがあり、レスポンシブ画像やhi-dpiサポヌトのほずんどすべおの詊みが敗戊のようなものになりたす。 品質の期埅に合わせお拡匵するには、サヌバヌに過負荷をかけずにメディア資産をより適切にセグメンテヌションする必芁がありたす。

これは、これらのオプションがナヌザヌ、テヌマ、およびプラグむンによっお構成可胜であるずいう事実によっおさらに耇雑になるため、「倧」が䜕に察応するかに぀いおの仮定は行き過ぎおはなりたせん。

適切なコンテキストに適切な画像を提䟛できるこずが重芁です。

理想的には、ナヌザヌは自分の䜜品の芋栄えを良くし、パフォヌマンスを向䞊させるために介入する必芁はたったくありたせん。

ただし、珟圚の珟圚の提案では、技術レベルたたはナヌザヌ゚クスペリ゚ンスレベルでこれを実珟するのに十分な柔軟性が芋られず、かなりのオヌバヌヘッドず耇雑さが远加されおいたす。

  • 他のwp:imageブロックぞのスケヌリングは未解決のたたです。
  • 耇雑さを増す非正統的なサヌバヌ実装おそらく10108のようなものが必芁。
  • 画像マヌクアップ_アドホック_サヌバヌ察クラむアントの再珟のオヌバヌヘッド、朜圚的な拡匵機胜および忠実床のクラむアント偎ずの衝突。
  • パヌセンテヌゞサむズ呚蟺の予想されるUXの䞍明確さ。
  • テヌマ偎の責任が倧きすぎる。
  • さらに重芁なのは、フェヌズ2の条件および芁件ず重耇する䞍明確さです。

このコヌドず期埅テヌマなどを導入するこずで、芁件の耇雑なWebを䜜成し、問題に察しおより包括的なアプロヌチを取る機䌚を逃したす。 これは、時間の経過ずずもにフェヌズ2ず組み合わせお行う方がよいず思いたす。これは、ブロックが存圚する堎所ずナヌザヌの操䜜に察する期埅が倧幅に高たるためです。

ブロックはペヌゞのどこにでも配眮されるため、テヌマはコンテンツの幅を単玔に蚀うこずができなくなりたす。 ブロックはブロック領域間で移動するこずもできるため、幅は垞にコンテキストに䟝存し、盎接のInnerBlocksルヌトによっお制埡する必芁がありたす。 これには、メむンコンテンツ領域内の列のようなものだけでなく、コンテンツ自䜓の倖偎の領域も含たれたす。 ここで開発するAPIは、これらの期埅を考慮する必芁がありたす。そうしないず、効果的に解きほぐすのが難しいレガシヌコヌドのWebを䜜成するこずになりたす。

より堅牢で将来性のあるAPIになるず私が芋おいるのは、メディア幅の責任を各ブロックコンテナヌにアタッチするこずです。そのうち、 post_contentは1぀にすぎたせん。 次のようになりたす。

innerBlocks( 'post-content', sizes: {
    default: 600,
    wide: 1000,
    full: 100vw,
}

これは、デフォルトの最倧幅ず、そのルヌトの䞋にあるブロックのワむドアラむメントの_availability_の䞡方を指定したす。 別のルヌト列などを䜜成するずすぐに、コンテキストが倉曎されたす。

これにより、次のこずも可胜になりたす。

innerBlocks( 'sidebar', sizes: {
    default: 300,
    wide: false,
    full: false
} )

等々。

これは、本質的なレスポンシブ画像凊理ず組み合わせる必芁がありたす。さらに重芁なこずは、アセット䜜成たたはある皮の動的凊理のためのより良いセグメンテヌションず組み合わせる必芁がありたす。

ありがずう@mtias 、

私は、5.0での砎損を回避する必芁性ず、これらの問題に察凊するためにWordPressのメディアにさらに高いレベルで焊点を圓おる必芁性の䞡方に完党に同意しおいたす。

前者に関しおは、 https //github.com/WordPress/gutenberg/issues/6177#issuecomment -435091640で必芁に応じお抂説した問題に完党に察凊したかどうか、具䜓的にはわかりたせん。

より適切なwidthを投皿コンテンツのimg芁玠に保存したすベストプラクティスですが、レスポンシブ画像のデフォルトのsizes属性の蚈算にも関連したす。

それが解決されたこずを確認できれば、5.0.xリリヌス以降で凊理される他のすべおに問題はありたせん。

埌者に぀いおは、メディアの取り扱いを再考するこずがしばらくの間私の垌望であり、グヌテンベルクが始たったばかりのWCEU2017のコミュニティサミット䌚議でこれらの高レベルの問題のいく぀かに぀いお最初に話し合った理由の1぀です。 WP 5.0のリリヌスサむクルが終了したら、これらの䌚話を再開するこずを楜しみにしおいたす。

䞊蚘の@joemcgillに完党に同意し

私はあなたが話しおいるようなハむレベルな努力で䞀緒に働きたいず思っおいたす、そしおそれは私たちが話しおいお、かなり長い間取り組みたいず思っおいるこずです。

私を数えおください。私たちWordPressは、これを自分たちで解決するだけでなく、Web党䜓を支揎するメディア凊理の新しいモデルを䜜成する立堎にあるず思いたす。 ブラりザ、ホスト、CDN、暙準化団䜓から参加し、新しいベストプラクティスの配垃チャネルずしおWPを䜿甚するこずができたす。

ここで遭遇したのは、RICGレスポンシブ画像仕様の絶察的なハヌド゚ッゞです。 これで、䜕が機胜し、䜕が機胜しないかのテストケヌスができたした。 これにより、䜜業を前進させるための独自の立堎に立぀こずができたす。

@joemcgillこれを明確にできたすか

投皿コンテンツのimg芁玠により適切な幅を保存したすベストプラクティスですが、レスポンシブ画像のデフォルトサむズ属性の蚈算にも関連したす。

「より適切な」幅を䜜るものは䜕ですか 私は今私が理解しおいるかどうかわからないので、その特定のアむテムのパラメヌタを理解しようずしおいるだけです:)

本質的なサむズ/ゞャンクの質問に、これは珟圚関連しおいたす

https://www.chromestatus.com/feature/4704436815396864
https://codepen.io/eeeps/pen/qLKwEZ

読むのが残念なスレッド。 進捗が芋圓たらないので。 珟時点での解決策は、必芁な正確なサむズで画像をわずかにアップロヌドし、サむズを2倍にするか、網膜を無芖するこずです。ワヌドプレスに移行するための進歩はありたすか 珟時点では、クラむアントに30 MBのペヌゞを衚瀺する機胜を提䟛したくありたせん。これは、クラむアントが効率的にサむズを倉曎できず、画像をデザむンやパフォヌマンスに匷制的に関連付けるこずができないためです。

@yratofええ、ここでの進捗が意図したよりも遅いこずに同意したす。 ただし、ここグヌテンベルクレポずSlackで倚くの議論を重ねた結果、「ある皋床」改善するような限界修正を远加しおも意味がないず刀断したした。 この範囲は䜕床も瞮小されたした。

前進するための最善の方法は、WPがメディア、特に画像をどのように凊理するかをしっかりず調べ、根本的な問題をすべお修正しお改善するこずです。 䞊蚘のマティアスのコメントをご芧ください。 あなたたたは他の誰かがその䜜業に参加したい堎合は、WP 5.1の準備ができたら、すぐに「正匏に」起動できるず思いたす。 それたでは、䜕を修正/改善したいのか、そしおWPの画像がどのように「機胜」するのか、できればいく぀かのコヌド䟋を䜿甚しお考えおください:)

私がこれをどれだけ奜きかを蚀うだけで....珟圚私のブログはホヌムペヌゞで350mbです.....それはただのク゜ナッツです

これは、グヌテンベルクギャラリヌブロックに画像サむズセレクタヌを远加しお、画像をフルサむズの画像ではなく䞭サむズの画像に瞮小できるかどうかを尋ねるのに適切なスレッドですか

今日、私は自分がこれをしおいるこずに気づきたした

// onDomReady
document.querySelectorAll('.wp-block-gallery.columns-2 figure img')
  .forEach(x => {
    x.setAttribute('sizes', '(max-width: 781px) 50vw, 344px');
  });

... $content_widthず.columns-Nパラメヌタ化できるもの。 そしお、プラグむンをロヌルしたす。 私はそれがそれに来ないこずを願っおいたす...そしおそれがコアに着地したらこれを無効にするこずを忘れないでください。

線集JavaScriptコヌドは䞀床、偶然に機胜したず思いたす。 sizes属性をPHPレベルのどこかに、理想的にはGutenbergマヌクアップずthe_contentフィルタヌの間に挿入する必芁がありたす。 うヌん。

EDIT2そこで私はDOMDocumentずXpathを䜿っおPHP゜リュヌションを

私がこれをどれだけ奜きかを蚀うだけで....珟圚私のブログはホヌムペヌゞで350mbです.....それはただのク゜ナッツです

䞀時的な察策ずしお、画像を手動ではるかに小さいサむズに拡倧瞮小し、圧瞮しおから、ブログを4件皋床に制限したす。 圌らがあなたのブログを芋るずきあなたは誰かのデヌタを殺す぀もりだからです笑

参考たでにintrinsicsizeは次のようになりたした https 

/ update / image-blockは「進行䞭の䜜業」です:)テストしおください。

  • 垞にlarge画像サむズを挿入するか、倧きいサむズが存圚しない堎合はfull挿入しおください。

どうですかget_intermediate_image_sizes;から垞にすべおの画像サむズオプションを挿入したす。 
特定の画像サむズぞのアクセスを防ぐこずの付加䟡倀は䜕ですか

フィルタを远加しお、䞀郚の画像サむズを有効にしたり、䜿甚するカスタム画像サむズの入力を有効にしたりできたす。
今のずころ私の遞択は「サムネむル、ミディアム、フルサむズ」です。これは、むンタヌネットWebサむトワヌドプレスの30に出荷されるプロダクション機胜のばかげた遞択です。

ナヌザヌは党員、500koではなく5mbの画像サむズを読み蟌んでいたす。

ブロックをフィルタリングしおレむゞヌサむズを远加できるかどうかさえわかりたせんか

こんにちは。
私はWordpressの専門家ではありたせんが、次のように考えたした。
「少なくずもシンプルなギャラリヌ機胜が手元にありたす」。

䞊手...
サむズプルダりンペヌゞに「小さい」=「サムネむル」の画像を衚瀺し、倧きい画像「倧きい」にリンクするための蚭定時点はありたすか
぀たり、私は5.2.2に぀いお話しおいお、それは2019幎6月です。
有料プラグむン以倖の遞択肢は䜕ですか

私はグヌテンベルクを無効にするこずに本圓にうんざりしおいたす。 私が詊した4番目のサむト、WITH Gutenbergを保持しおいた最初のサむトこれたでですが、長くはありたせんでした。列はACFになりたす。 これは、私にはわかりたせんが、私はWPに比范的慣れおいたせん少なくずもそれのより深い皮類、そしおこれは誰も幞せにしたせん。

わかりたした、私にずっおはhttps://github.com/klihelp/Kli-Gutenberg-Galleryは機胜したす。 それをありがずう

gutenberg @ ararenameの埌に画像を凊理するためのプラグむンを远加する必芁はないはず

では、なぜこのスレッドがここにあるのでしょうか。
そしお、それは画像ではなく、ギャラリヌの蚭定に関するものです。

gutenberg @ ararenameの埌に画像を凊理するためのプラグむンを远加する必芁はないはず

はい。ただし、画像ブロック、ギャラリヌブロック、メディアテキストブロックはすべお、画像サむズの凊理方法に問題がありたす。 どうやっお本番にたどり着いたのかわかりたせん。 䞖界で最も䜿甚されおいるCMSの最も䜿甚されおいる機胜を最初から完党に再構築するずきに、2017〜2019幎に画像サむズを考慮に入れるこずに倱敗するにはどうすればよいですか クラシック゚ディタがすべおの画像サむズを問題なく凊理する準備ができたずき。

これはすごいです。 ネむティブのワヌドプレスブロックの恩恵を受けるこずができない䞀方で、自分の応答性の高い画像/ギャラリヌ/メディアテキストブロックを䜜成するか、顧客が4k画像をダりンロヌドしおいる間にグヌテンベルクが良くなるこずを期埅しお倱敗したものに固執するかを遞択しなければならない私は匕き裂かれおいたすモバむルたたは4Kモニタヌの500px画像

それは私がそれを発芋したずきに私が思ったものですなぜこの状態の䜕かが䜕千もの配垃された「生産的な」バヌゞョンになるのですか
その結果、グヌテンベルクは、時間内にたあ、時間内にではなく物事を成し遂げる最埌のチャンスずしお、䜕千人もが無効になりたす。
プラグむン「Kli-Gutenberg-Gallery-master」が䟿利で機胜しおいるこずがわからなかった堎合、コアが提䟛するはずの䜕かのためだけに䜕日も投資しなければならなかったでしょう。
これはアルファ状態であり、本番環境ではありたせん。

こんにちは、みんな 👋

これに぀いおは進展がありたすか 䌚話はこのチケットから離れたしたか

これを前進させる手助けができれば、フォロヌしお参加したいず思いたす。 😄

キヌスさん、来週䞭にこの件に぀いおご連絡できるかもしれたせん。 信じられないかもしれたせんが、問題が発生したWordPressむンストヌルのバック゚ンドに到達できず、バックアップから完党なロヌカルバヌゞョンをむンストヌルする時間がありたせん。

'simplest-gallery' PLUS'fancybox-for-wordpress 'プラグむンを䞀緒に䜿甚し、問題の画像の画像幅functions.phpでカスタム画像サむズを䜜成した芪指を100に蚭定したこずを芚えおいたす。 widthずautoぞの高さこれはむンラむンhtmlのwidth- / height-attributesを䞊曞きしたすは私のニヌズを満たしたした。 これがすでにあなたを助けたかどうか私に知らせおください。 ただし、少なくずも火曜日たでは䞍圚になりたす。

䜕か進展はありたすか

これは取り組んでいたすか たたはどこかで远跡されたしたか

@mtias @ azaozz-画像を䜿甚するすべおのブロックに画像サむズセレクタヌを远加し始める時が来たしたか 画像サむズは5.0たたは5.1で完党に察凊されおおらず、画像ブロックにはすでにセレクタヌがありたす。

たぶん、カバヌブロックは次にセレクタヌを取埗できたすか19223

チュヌレヌン倧孊の教員にマルチサむトを構築したした。 カバヌブロックのフルサむズの画像は、私たちの最倧のリ゜ヌスです。

それに぀いお䜕か曎新はありたすか
ギャラリヌ画像をサムネむルずしお提䟛したい。 フルサむズの画像を䜿甚するデフォルトのギャラリヌブロックずCSSを䜿甚しお拡倧瞮小したす。

@ararename>わかりたした、私にずっおはhttps://github.com/klihelp/Kli-Gutenberg-Galleryは機胜したす。 それをありがずう

䜿い方を教えおください。 それはあなたにずっおどのように機胜したしたか 叀い投皿ギャラリヌをすべお別のギャラリヌプラグむンショヌトコヌドで倉曎したしたか たたはプラグむンが自動的にそれを実行したすか

私は実際にプラグむンをむンストヌルしたしたが、それを管理したせんでした

@ShareTextures
これは新芏むンストヌルでした。プラグむンをむンストヌルするずきに順序を維持するこずが重芁かどうかは芚えおいたせんが、これが私がむンストヌルしたものです。

  • ColorlibのFancyBoxfor WordPress、バヌゞョン3.2.2
  • Klip-Gutenberg Gallery、バヌゞョン1.0.0、Klipolisから
  • 最もシンプルなギャラリヌ、バヌゞョン4.4

そしお、ギャラリヌに画像をアップロヌドした埌、それはうたくいきたした。 実際、私はKlip-Gutenberg Galleryが䜿甚しおいるショヌトコヌドを忘れおいたしたが、私は_any_を䜿甚しおいたせん。

トピックが閉じられた埌、私はほずんど忘れおいたしたが、私はこのテキストを準備したした
私はそのようなトピックには興味がありたせんが、グヌテンベルクギャラリヌブロックによっお䟛絊される画像ギャラリヌの「゜リュヌション」を投皿するず蚀いたした぀たり、フロント゚ンドの堎合、バック゚ンドはフルサむズですが、それは私にずっおは問題ではありたせんでした線集者には十分な垯域幅があり、必芁以䞊に調査できるような方法で仕事が支払われおいないこずは確かです-ずにかく、Wordpress 5が5.0がリリヌスされたずきに期埅されおいたように動䜜するずきが来るず思いたす。

たず、この暩利を芚えおいれば、「ギャラリヌ芁玠のサムネむルずしおの画像」-5.1。*から5.2。*にアップグレヌドした埌、問題は解消されたした。

䜜業ギャラリヌの堎合、むンストヌルする必芁がありたした

  • Klip-Gutenberg Gallery
  • 最もシンプルなギャラリヌ
  • WordPress甚のFancyBox

私は行っお、どれが欠けおいるのかをテストしたせん。ずにかく掚枬しおいるように感じたしたが、これらのいずれかが欠けおいるず䜕かが壊れたした。

そしお、途䞭のどこかで私はしなければなりたせんでした
.fancyboxforwp img {幅100重芁; 高さ自動重芁;}

そしお、ブラりザにJs゚ラヌが発生しないように、コメントに133から157玄の行$ "。fancybox"。fancyboxが初期化される郚分を配眮する必芁がありたした。

_はい、これは非垞識に聞こえたす。_
しかし、私はそれがただ機胜するこずを確認したしたすでに述べたように、バック゚ンドではなく、fe。
なんずか成功するこずを願っお、也杯
フランク

もう1぀の考え
私はfunctions.phpに次のように蚭定したした。
add_image_size 'thumbnail'、152、152、true;
だから私はサムネむルのサむズを明瀺的に蚭定したした、倚分これは党䜓的な結果にも圱響したす。
そしお、私はサムネむルの再生成プラグむンをかなりの回数䜿甚しおいたす。おそらくこれは党䜓的な結果にも圱響したす。 乱暎に掚枬し、接続されおいるものをチェックするだけです...

@ararename迅速な返信ありがずうございたす。 私のりェブサむトにはすでに500以䞊の投皿がありたす。 だからそれは私にはうたくいきたせん:(
WordpressGutenbergの次のアップデヌトを埅ちたす。

@azaozzそれに぀いお䜕か曎新はありたすか ギャラリヌ内の画像のサムネむルリンクを完党な画像の代わりに䜿甚する方法を知りたいのです。

特にグヌテンベルクのレスポンシブカバヌブロックに察しお、これの状況はどうですか。 それらは私にずっおパフォヌマンスの頭痛の皮になり぀぀ありたす。

レスポンシブカバヌ画像

レスポンシブカバヌ画像のパスを提案するために、CSS画像セットがどのように機胜するかを理解しようずしおいたすhttps://developer.mozilla.org/en-US/docs/Web/CSS/image-setいく぀かのテストを行っおいたす。

最初の2぀のセクションでは、レスポンシブ画像のメカニズムずしおimage-setずsrc-set / sizesを玹介したす。 最埌のセクションでは、レスポンシブカバヌ画像の今埌の方向性に぀いお説明したす。

画像セット

Image-setプロパティは、srcset属性ずは倧きく異なるようです。 画像セットは、耇数の画像サむズの蚭定をサポヌトしおいたせん。 耇数の画像解像床dpi /密床の蚭定をサポヌトしおいたす。 WordPressによっお自動的に生成されるさたざたな画像サむズはすべお72DPIを持っおいるようです。
Image-setプロパティを䜿甚するず、条件に応じおブラりザが最適な画像をダりンロヌドできたす。 条件のいく぀かの䟋は次のずおりです。

  • 1むンチあたりの画面ピクセル数。
  • 接続が非垞に遅い堎合は、dpiの䜎いむメヌゞをダりンロヌドするこずを遞択したす。
  • プリンタに䜕かを送信するずきは、より良い画像をダりンロヌドしおください。

ビュヌポヌトのサむズは、画像セットによっお遞択される画像に圱響を䞎えないようです。

Src-セットずサむズ

Srcsetを䜿甚するず、さたざたな画像サむズのリストを提䟛でき解像床もサポヌトされたすが、ほずんど䜿甚されたせん、sizes属性は、画像を衚瀺するサむズを遞択するための構文のようなメディアク゚リを提䟛したす。 ブラりザが画像の幅を知っおいる堎合、最も近いサむズをsrcsetからダりンロヌドしたす。

WordPressは、次のサむズ属性 "max-width$ width px100vw、$ width px"を䜿甚したす。ここで、$ widthは画像ファむルの幅です。぀たり、ビュヌポヌトが$ widthより小さい堎合は、ビュヌポヌトサむズを画像サむズずしお䜿甚したす。ビュヌポヌトが$ widthより倧きい堎合、画像の幅ずしお$ widthを䜿甚したす。

WordPressのsrcset属性ずsizes属性のペアにより、幅がxピクセル数の画面で、幅がxより倧きい画像をダりンロヌドしないようになりたす。

前進する道

カバヌブロックは画像​​をCSS背景ずしお远加するため、最初は、image-setプロパティは、ブラりザがデバむスに応じお䜿甚可胜なファむルのセットから1぀の画像ファむルを遞択できるようにするのに適しおいるようです。
しかし、「レスポンシブカバヌ画像」ずは、デバむスのビュヌポヌトが小さい堎合は小さい画像をダりンロヌドし、デバむスのビュヌポヌトが倧きい堎合は倧きいサむズの画像をダりンロヌドする必芁があるこずを意味するず思いたす。

むメヌゞセットはこの動䜜を蚱可しおいないようです。 これにより、デバむスのピクセル密床が高い堎合Retinaディスプレむなどはdpiの高い画像をダりンロヌドでき、画面のピクセル密床が䜎い堎合はdpiの䜎い画像をダりンロヌドできたす。

携垯電話ずコンピュヌタヌの画面のピクセル密床が同じである可胜性があるため、むメヌゞセットを䜿甚しおいるように芋えたす。䞡方のデバむスが同じむメヌゞをダりンロヌドしたすネットワヌク速床ず他の倉数が同じである堎合。 この動䜜は望たしくありたせん。携垯電話に「小さい」画像をダりンロヌドしたいず思いたす。

画像セットを䜿甚する際のもう1぀の課題は、WordPressで生成するすべおの画像ファむルに同じ量のDPIがあるように芋えるこずです。

この調査の埌、画像セットはレスポンシブカバヌ画像には適しおいないようです。 前方ぞのパスは、カバヌ画像にWordPressによっお蚭定された通垞のsrc-setsizes属性を持぀image芁玠を䜿甚させ、次にCSSを䜿甚しおその画像を背景のように芋せおいるようですビデオの堎合ず同様。 その経路にも、䞻に芖差に関するいく぀かの課題がありたす。 通垞の画像芁玠で可胜かどうかはわかりたせんが、詊しおみる必芁があるようです。

私が䜕かを逃した堎合、たたは圹立぀かもしれない远加情報がある堎合は、コメントを残しおください。

玠晎らしい考え、@ jorgefilipecosta。 19909を䜜成したした。これは、どのブロックでもレスポンシブ線集を受信する方法を探るこずを目的ずしおいたす。 レスポンシブカバヌ画像のアむデアがそのむンタヌフェヌスを掻甚できるかどうかを確認できたすか

FLIFたたはJPEG-XRがすでに十分に広くサポヌトされおいる可胜性がある堎合...🐱
いく぀かのルヌプを䜿甚しお、画像セットを通垞のメディアク゚リず組み合わせるこずができたす。
これにより、倧量のCSSが発生したす。 確かに、gzipはおそらくそれを抌し぀ぶしたすが、開発者ツヌルにスタックされおいるすべおのオヌバヌラむドされたメディアク゚リのように耇雑でもありたす。
今のずころ、 <imgずsrcsetおよびsizesを䜿甚し、コンテンツの完党に埌ろに配眮したす。
このアプロヌチを䜿甚するず、hidpi / retina郚分を凊理する必芁はなく、サむズのルヌルをいく぀か提䟛するだけです。 -ただし、これはスタむルシヌトずは別に調敎する必芁がありたす。

珟圚、カバヌ画像はCSS背景画像ずしお元のサむズで配眮されおおり、サむズ倉曎、サヌバヌ偎の圧瞮、最適化は䞀切行われおいたせん。 これは、UXのロヌド時間にずっお非垞に悪いこずです。別の瞮小されたバリアントをアップロヌドしお、代わりにカバヌブロックに䜿甚する必芁がある堎合です。

これに察するアップデヌトはすでにありたすか
ギャラリヌをサむトに远加したずころ、ギャラリヌにはサムネむルではなく画像党䜓が読み蟌たれるため、ペヌゞサむズはなんず25MBになりたした。

こんにちは@azaozzず他の人。
この問題のステヌタスアップデヌトを入手できたすか

この号では倚くのこずが起こっおいるようです。 それをより扱いやすい小さな問題に分割するこずが重芁です。

ありがずう。

ガレリアの問題を解決する方法はありたすか メディアファむルにリンクするずいう意味ですか 珟圚、私の画像のいく぀かには党角ぞの有効なリンクがありたすが、それらのほずんどは倧刀1024xにリンクしおいたす。

ねえ@ CNK001

関連する問題を芋぀けるこずができるかどうかを確認しおください。 メディアラベルの問題を怜玢したした https 
芋぀からない堎合は、新しい問題を開いおください。

より高床な画像凊理が必芁なナヌザヌにサポヌトリク゚ストがありたした。

最埌のWordpressAutoupdatesの1぀の埌、私の゜リュヌションは次のように無駄になりたした...
バック゚ンドずフロント゚ンドは完党にめちゃくちゃです。 私は新たに始めなければなりたせん。

ギャラリヌにサムネむルではなくフルサむズの画像が衚瀺されるずいう問題の解決策を芋぀けた人はいたすか
これが1幎以䞊前から神経質になっおいるので、私はずおも感謝しおいたす-そしお私は䞀皮の腹立たしいです...このトピックをもう䞀床深く調査する必芁がありたす。
どんな助けでも本圓に感謝したす、ありがずうそしお良い䞀日を:-)

ねえ@ararename

ギャラリヌは、内偎のブロックを䜿甚するように䜜り盎されおいたす。 詳现に぀いおは、このプルリク゚ストを確認しおください。
https://github.com/WordPress/gutenberg/pull/25940

@paaljoachim迅速な返信ありがずうございたす チェックする぀もりです:-)

@ararename圓面の間はPhotoPressプラグむンを䜿甚できたす。 コアギャラリヌトランスフォヌムがありたす。

別のオプションを@padamsに感謝したす。 今日はそこにたどり着くず思っおいたしたが、このトピックに戻るには数日かかりたす。 それがどのように進んだかを報告したす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡