Cocoonフォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

関連記事・人気記事のエントリーカードに...
 
共有:
通知
すべてクリア

[解決済] 関連記事・人気記事のエントリーカードにおいてobject-fitが効かない件について

15 投稿
3 ユーザー
9 Reactions
356 表示
(@esuzaus)
Active Member Registered
結合: 6か月前
投稿: 7
トピックスターター  

初めて投稿させていただきます。

①投稿ページ下部の関連記事ウィジェット、②サイドバーの人気記事ウィジェットにつきまして、エントリーカードにサムネイルの全体を表示させたいです。
一部記事のサムネイルは正方形のサムネイルとなっているのですが(他方で、長方形のサムネイルの記事もございます)、この正方形のサムネイルについては余白部分ができることも厭わず、全体像を表示させたいため、CSSでobject-fit:containを記述しました。
しかし、heightやwidthなどの数値を変えたりしつつも、全体像が表示されることなく、画像が拡大された上で長方形にトリミングされてしまいます。(設定>メディア>「サムネイルを実寸法に切り抜く (通常は相対的な縮小によりサムネイルを作ります)」のチェックは外しております。)
トップページの記事一覧ページでは正方形のサムネイルの全体を表示させることに成功しているのですが、関連記事・人気記事のウィジェットはなぜか機能いたしません。

説明が上手くなく、大変恐れ入りますが、ご助言いただけますと大変助かります。
何卒よろしくお願い申し上げます。

不具合・カスタマイズ対象ページのURL:
ttps://shirouto-matome.com/
※冒頭にhを付加していただけますと幸いでございます。アダルト注意です。

環境情報:
----------------------------------------------
サイト名:これ誰!? ~素人系エロ作品のAV女優名を完全特定~
サイトURL: https://shirouto-matome.com
ホームURL: https://shirouto-matome.com
コンテンツURL:/wp-content
インクルードURL:/wp-includes/
テンプレートURL:/wp-content/themes/cocoon-master
スタイルシートURL:/wp-content/themes/cocoon-child-master
親テーマスタイル:/wp-content/themes/cocoon-master/style.css
子テーマスタイル:/wp-content/themes/cocoon-child-master/style.css
WordPressバージョン:6.5.4
PHPバージョン:8.1.22
ブラウザ:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
サーバーソフト:Apache
サーバープロトコル:HTTP/1.1
言語:en,ja;q=0.9
----------------------------------------------
テーマ名:Cocoon
バージョン:2.7.4.3
カテゴリー数:30
タグ数:293
ユーザー数:1
----------------------------------------------
子テーマ名:Cocoon Child
バージョン:1.1.3
style.cssサイズ:7232 バイト
functions.phpサイズ:1440 バイト
----------------------------------------------
Gutenberg:1
Font Awesome:4
Auto Post Thumbnail:0
Retina:1
ホームイメージ:/wp-content/themes/cocoon-master/screenshot.jpg
----------------------------------------------
ブラウザキャッシュ有効化:1
HTML縮小化:0
CSS縮小化:1
JavaScript縮小化:1
Lazy Load:1
----------------------------------------------
利用中のプラグイン:
Advanced Custom Fields 6.3.1
CloudSecure WP Security 1.2.2
Contact Form 7 5.9.5
EWWW Image Optimizer 7.7.0
Ivory Search 5.5.6
ORE CSV Importer
Really Simple CSV Importer 1.3
XML Sitemap Generator for Google 4.1.20
----------------------------------------------


   
大門未知子
(@chu-ya)
Illustrious Member Registered
結合: 3年前
投稿: 3131
 

●回答

関連記事のサムネイルを、CSSでエントリーカードのように正方形で、全て表示する事はできません。
サムネイル画像自体の比率が、9:16でトリミングされているからです。


●問題点

そもそもエントリーカードのサムネイル比率が、本来の比率ではありません
[Cocoon設定]→[画像]→サムネイル画像は9:16となっています。(図示のようにアスペクト比が出力されている)

この為、functions.phpでカスタマイズもしくは、親テーマそのものを変更されていると思われます。
ご確認願います。


   
わいひら reacted
(@esuzaus)
Active Member Registered
結合: 6か月前
投稿: 7
トピックスターター  

@chu-ya 

chu-ya

ご教示いただきまして、ありがとうございます。

関連記事のサムネイルはエントリーカードのように全て表示することはできないこと、承知いたしました。

ご指摘の点につきまして、エントリーカードのサムネイル比率を正方形に変更いたしましたが、依然として、関連記事・人気記事のサムネイルは全体像が収まることはなく、object-fitも機能していないようです...

関連記事・人気記事のサムネイル写真はアスペクト比率がそれぞれ異なりますので、無駄な余白が発生してでも、1:1でも9:16の比率でも一定の枠組み内で全体を表示させることは仕様上、難しいのでしょうか。


   
大門未知子
(@chu-ya)
Illustrious Member Registered
結合: 3年前
投稿: 3131
 

先にも回答しましたが、関連記事のサムネイル(以下)のように、前回の比率9:16でトリミングされ、登録されています

https://shirouto-matome.com/wp-content/uploads/2024/06/smuk179jp-300x180.jpg

●サムネイルについて

サムネイルは、画像登録時に自動生成されます。

既に登録されている画像は、比率が9:16の為、Cocoon設定を変更しても、9:16のままとなります。
ただし設定に合わせ、object-fit:cover;を用い1:1比率に合わせ表示します。

※object-fitが効かない詳細は、後述の通り。
ご自身で、サムネイル表示サイズをCSSで指定し、containとしているので、1:1にはなりません。

以下を参考にして下さい。
https://wp-cocoon.com/regenerate-thumbnails/


●object-fitについて

図示したように、ご自身で、子テーマCSSにサムネイル表示サイズ(横長)を記述しています。
また、contatinとしているので、画像はフィットしません。

 

   
わいひら reacted
(@esuzaus)
Active Member Registered
結合: 6か月前
投稿: 7
トピックスターター  

@chu-ya 

chu-ya

ご丁寧に説明いただきまして、ありがとうございます。

[Cocoon設定]→[画像]→サムネイル画像による設定するアスペクト比率が、実際に出力されるサムネイルの比率とリンクすること理解いたしました。大変勉強になりました。

この場合、設定よりサムネイル画像を1:1に変更の上、サムネイル画像を再生成すること、また自ら設定しているCSSのサムネイル表示サイズを修正することで、関連記事に正方形の画像を表示することができるかと存じます。

一方で、サムネイル比率を9:16に設定したい画像と、1:1に設定したい画像が混在している記事群をcsv importer等でまとめてアップロードしたい場合は、サムネイル比率の設定を9:16にしている時は、比率1:1にしたい画像も9:16になる、逆も然りとなるかと存じます。 

この場合の対処法としては、サムネイル設定を9:16に変更した上で、9:16にしたいサムネイルの記事のみをまとめてアップロードし、それを終えたらサムネイル設定を1:1に変更し、1:1にしたいサムネイルの記事のみをまとめてアップロードするということになりますでしょうか?

或いは、サムネイルに設定する画像をサムネイルサイズの画像ではなく、ミディアムサイズ(こちらはトリミングされることはないと理解しております)の画像に変更する等のことも可能でしょうか?

大変お手数ですが、何卒宜しくお願い申し上げます。


   
大門未知子
(@chu-ya)
Illustrious Member Registered
結合: 3年前
投稿: 3131
 

●回答

投稿者:: @esuzaus

サムネイル比率を9:16に設定したい画像と、1:1に設定したい画像が混在している記事群

上記の運用はした事なく、曖昧な回答になる点、ご了承下さい。

サムネイルの比率は1つだけで、混在はできない仕様です。
カードによってサムネイルサイズを混在したいと言う事は仕様上、できないと思います。

元画像(アイキャッチ)が1:1で、トリミングされず全カード表示させたいなら、1:1で出力すべきです。

先の話では、エントリーカードと関連記事、人気記事のサムネイルを1:1にしたい。
と言う事なら、1:1に設定し、サムネイルを再生成すれば、事済むと思いますが?


●補足

元画像の比率に従い、必要に応じ、object-fitでトリミングしサムネイル表示させたいと言う事でしょうか?
私のサイトは、メディアには、アップロードした元画像しかありません。
functions.php、WordPress設定で、Cocoon、WordPressが生成するサムネイルを全て停止しています。
この為、Cocoon設定に関係なく、サムネイルには元画像が表示されます。
これをcssで好きなように調整しています。


●ご参考

https://gungii.com/genepic-info/

https://zbnr-hp.com/stop-thumbnail/


   
わいひら reacted
(@esuzaus)
Active Member Registered
結合: 6か月前
投稿: 7
トピックスターター  

@chu-ya 

chu-ya

弊方の説明がわかりづらく、大変恐縮でございます。

イメージとしては添付画像のとおりです。

サムネイルそのものの比率を混在させると言いますよりかは、サムネイル画像の枠は固定でありつつも、比率1:1の画像も9:16の画像も全て全体を表示させたいというものです。

より具体的にも申し上げますと、今回のケースでは正方形のサムネイル枠内に9:16の画像をトリミングせず、全表示させたいというものになります。

正方形の枠内に9:16の画像をobject-fitを用いて全表示させると、必然的に余白箇所も発生するものと存じますが、その点につきましては許容範囲内です。

 


   
大門未知子
(@chu-ya)
Illustrious Member Registered
結合: 3年前
投稿: 3131
 

●回答

先述の通り、トリミングせず、1:1と9:16を、サムネイル画像として混在できません。

例えば9:16と設定した場合、アイキャッチ画像300×300px(1:1)の元画像は、図示の通り、赤い部分がトリミングされ、サムネイル画像が作成されます。

ご自身のメディアフォルダー(uploadsフォルダー)を参照してみて下さい。

アイキャッチ画像を、トリミングされずサムネイル表示するなら、Cocoon設定の比率に合わせ、アイキャッチ画像を作る必要があります。

 
 

   
わいひら reacted
大門未知子
(@chu-ya)
Illustrious Member Registered
結合: 3年前
投稿: 3131
 

●方法

くどいですが、トリミング表示させるには、全てのアイキャッチの画像を、設定と同じ比率で作る必要があります。

  1. [Cocoon設定]→[画像]→サムネイル画像を1:1に設定する。
  2. 長方形のアイキャッチ画像の上下に白地を設け、1:1とする。
  3. その画像に、現在の長方形のアイキャッチ画像と置き替える。

この場合、エントリーカードのサムネイルの上下に白地が表示されます。


   
わいひら reacted
大門未知子
(@chu-ya)
Illustrious Member Registered
結合: 3年前
投稿: 3131
 
●余談
 
多分、添付図のような事をしたのだと思います。
先述の通り、メディアフォルダーには元画像(アップロードした画像400×300pxか、300×400px)しかありません。
この場合、CSSで調整でき。

>わいひらさん
サムネイル画像を用いず、メディアに登録したアップロード画像としたい場合、以下で可能ですかね?
 
以下のコードの動作確認はしていません。
そもそも、全サムネイル自動生成を停止しているので。
add_filter('post_thumbnail_size', function($size, $post_id) {
return '';
});
 

   
わいひら reacted
(@esuzaus)
Active Member Registered
結合: 6か月前
投稿: 7
トピックスターター  

@chu-ya 

chu-ya様

弊方が望む条件でサムネイルを表示させるには、アイキャッチ画像の作成時点で、設定と同一の比率で作成する必要がございますこと、承知いたしました。

大変勉強になりました。弊方の理解が至らぬ中で懇切丁寧にご解説いただきまして、深謝申し上げます。

現時点で投稿済みのアイキャッチを改めて作成しなおすことは大変な手間でありますため、表示方法はある程度妥協する方向で模索してみようと思います。


   
(@esuzaus)
Active Member Registered
結合: 6か月前
投稿: 7
トピックスターター  

@chu-ya 

chu-ya様

返信が入れ違いになってしまいました。大変失礼いたしました。

弊方の望む表示方法は至極ご理解の通りでございます。わいひら様のご回答をお待ちします。

 


   
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17375
 

元々関連記事などに出力されている画像はトリミングされたものしかないので、画像のアスペクト比を保ったまま出力させるのであれば、元画像を使うしかないかと思います。

以下のようなコードを子テーマのfunction.phpに書いてCSSを当てる感じになるかと思います。

add_filter( 'post_thumbnail_size', function($size, $post_id){
  return 'full';
}, 10, 2);

※関連・新着・人気記事以外も全てがフルサイズ(元画像)になります。
※画像が大きすぎる場合は、add_image_sizeで画像サイズを指定して、$crop = false で新たなサムネイルサイズを定義して指定する必要があるかと思います。
※アイキャッチが指定されていないとき(いわゆるNO IMAGE)のケースには対応していません。

この投稿は6か月前ずつわいひらに変更されました

   
(@esuzaus)
Active Member Registered
結合: 6か月前
投稿: 7
トピックスターター  

@yhira 

わいひら様

ご教示いただきまして、誠にありがとうございます。

頂いたコードを反映の上、CSSを調整いたしましたところ、思い通りのデザインとすることができました。

大変勉強になりました。改めまして、ありがとうございました。


   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17375
 

検索から、このトピックにたどり着いた方向けに完成図と、実際に使われたCSSを貼っておきます。

img.related-entry-card-thumb-image.card-thumb-image.wp-post-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

   
esuzaus reacted
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

タイトルとURLをコピーしました