サイト内検索
Cocoonフォーラム

書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
トピックスターター 2025年9月15日 05:58
----------------------------------------------
テーマ名:Cocoon
バージョン:2.8.8
カテゴリー数:18
タグ数:124
ユーザー数:1
----------------------------------------------
●設定
[Cocoon設定]→[画像]→サムネイル画像1:1とした。
横200×縦400pxの画像を「カテゴリーA」のアイキャッチに設定した。
投稿(カテゴリーA)にはアイキャッチを設定していない。
●現象
投稿にアイキャッチを設定していないため、エントリーカードには「カテゴリーA」のアイキャッチが表示する。
しかし、画像が表示されない。
●原因
320x320のサムネイル用のファイル名が存在しない。
サムネイル生成の際、メディア登録した画像幅が320pxより小さいので、ファイル名-200x320でサムネイルが生成される。
●発生のアルゴリズム
投稿にアイキャッチ未設定のため、get_entry_card_no_image_tagから、get_no_image_320x180_urlが呼ばれる。
フックを介して、カテゴリーのアイキャッチを反映するため、get_categorized_no_image_urlが呼ばれる。
そのとき、get_image_sized_urlでカテゴリーのアイキャッチのファイル名に幅x高さを付加し、srcタグとなる画像ファイルのURLを返却する。
結果、320x320となってしまう。
●対策
カテゴリー、タグなどのアイキャッチから画像URLを生成した際、ファイルが存在するかチェックする。
無い場合、元画像とする。
/**/が追加した箇所です。
https://notepad.pw/share/apLLwXXYFrXeODhAUsWz
わいひら and エックスサーバー 高澤 reacted
トピックスターター 2025年9月15日 16:57
●修正
上記のコードだと各所に同じような判定があるので、以下の関数に集約するのが望ましい。
生成したサムネイルが無い場合、元ファイルとする。
function get_image_sized_url($url, $w, $h){ $ext = get_extention($url); $sized_url = str_replace('.'.$ext, '-'.$w.'x'.$h.'.'.$ext, $url); if (!file_exists(url_to_local($sized_url))) { $sized_url = $url; } return $sized_url; }
エックスサーバー 高澤 reacted
トピックスターター 2025年9月22日 14:43
●修正
320x320のサムネイル用のファイル名が存在しない。
サムネイル生成の際、メディア登録した画像幅が320pxより小さいので、ファイル名-200x320でサムネイルが生成される。
再確認したら誤りがあり。
200x320の元画像a.jpgをメディア登録した。
メディアにはa-320x320.jpgが生成されない。
add_image_sizeでサムネイル生成時に元画像のサイズが指定サイズより小さいので生成されない。
●補足
サムネイルサイズより小さい画像はサムネイルを生成しない。
NO IMAGEの処理にその考慮が漏れている。
バグ発生の流れ
1.投稿にアイキャッチの設定が無い場合、get_entry_card_no_image_tagが呼ばれる。
2.以下でエントリーカードのサムネイル画像を設定する。
3.フックを介して以下でカテゴリーのアイキャッチを取得し、320x320を付加し返却する。
無条件にサムネイル名に320x320を付加してしまう。
結果、サムネイルファイル320x320はないので表示されない。
→サムネイルファイルが有無を確認し、無ければ元ファイルを返却する。
わいひら and エックスサーバー 高澤 reacted
2025年9月24日 18:17
わいひらさん
お疲れ様です。
お待たせいたしました、本件に関して対応が完了し、PRを作成いたしましたのでご報告いたします。
お手すきでご確認のほど、よろしくお願いいたします。
PR:
https://github.com/xserver-inc/cocoon/pull/297
(対応内容)
・lib/page-settings/image-funcs.phpの画像URLから指定サイズのURL生成する関数であるget_image_sized_url()関数の処理に、サムネイル画像ファイルの有無を確認し、無ければ元ファイルを返す処理を追加
お忙しいところ恐縮ですが、お手すきでご確認のほどよろしくお願いいたします。
わいひら reacted
トピックスターター 2025年9月25日 23:45
----------------------------------------------
テーマ名:Cocoon
バージョン:2.8.8
カテゴリー数:18
タグ数:124
ユーザー数:2
----------------------------------------------
対策されていることを確認しました。
本件をクローズとします。
エックスサーバー 高澤 and わいひら reacted
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。