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

書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
トピックスターター 2025年2月12日 02:11
----------------------------------------------
テーマ名:Cocoon
バージョン:2.8.4.2
カテゴリー数:19
タグ数:125
ユーザー数:1
----------------------------------------------
2点あります。
●breadcrumbs.phpを呼んでいる個所について
breadcrumbs.phpの以下で(is_single() || is_category())と判定している。
このため、以下tmp/breadcrumbsを呼んでいるが、(is_single() || is_category())の判定はなくてもいいのでは?
カスタム投稿を考慮し、breadcrumbs.phpにページの反映を集約した方がいいかも。
●footer.php
以下をif (is_single_breadcrumbs_position_footer_before()) {
https://github.com/xserver-inc/cocoon/blob/b192aa9b62bcb5a61c4449ab29b521f743410d4d/footer.php#L30
●body-top.php
if (is_single_breadcrumbs_position_main_before()){
●list.php
以下をis_category()の前に出してもいいのでは?
また、以下をif (is_single_breadcrumbs_position_main_bottom()){
●処理不要な部分がある
先に、if (is_category())で判定しているので、if(!paged())は常にtrueとなり、以下の処理はされないのでは?
https://github.com/xserver-inc/cocoon/blob/b192aa9b62bcb5a61c4449ab29b521f743410d4d/tmp/list.php#L24
https://github.com/xserver-inc/cocoon/blob/b192aa9b62bcb5a61c4449ab29b521f743410d4d/tmp/list.php#L26-L28
わいひら reacted
トピックスターター 2025年2月12日 11:42
●経緯
カスタム投稿のパンくずをサポートを考えた場合、既存のフックを用い、テンプレートを子テーマのコピーを止めたい。
現状、出力条件が各テンプレートについているため、パンくずを出力位置近くのフックを用い対応する必要がある。
しかしfooter.phpだけは工夫できない。
このため、今回の案を提案しました。
●余談
breadcrumbs.phpですが、現状get_categoryでカテゴリー情報を取得しており。
これをget_termに変更すれば、カスタム投稿にも対応でき。
先述したように、タクソノミーを階層ありにした場合は「カテゴリ」、なしにした場合は「タグ」としたいと思い、工夫が必要です。
また、get_archive_chapter_titleでis_taxのアイコンはタグですが、ここでも階層ありの場合、フォルダーアイコンに変更する必要があるかと思います。
categories-tags.phpでも同様に、カテゴリー?タグ?の判定が必要です。
breadcrumbs.phpの対応案はできているので、少し見直し、後日添付するので、確認、ご検討できたらと思います。
わいひら reacted
トピックスターター 2025年2月12日 14:13
●ご参考
上記のパンくず出力の判定を変更し、以下でカスタム投稿にも対応できたと思います。
お時間があるときに試していただき、ご検討、参考になればと思います。
●breadcrumbs.php
パンくずリスト出力。
https://notepad.pw/share/EZY2OZNXMg5gThfWWSJh
●get_archive_chapter_title
タクソノミーが階層型か否かでタイトルのアイコンをフォルダーかタグに切り替え。
フックがあるので、フック対応でもいいかも(←投稿してから気付きました)
https://notepad.pw/share/i0NljPmK4WT3HnX92teN
●categories-tags.php
タクソノミーが階層型か否か投稿のカテゴリー・タグ表示を切り替え出力。
関数化は面倒なので、フックで対応(笑)
https://notepad.pw/share/SHmXnyaQvwXnkHGfFOZd
●get_the_nolink_category
エントリーカード、アイキャッチ上のカテゴリーラベル出力。
関数化は面倒なので、フックで対応(笑)
わいひら reacted
トピックスターター 2025年2月12日 14:24
↑categories-tags.phpでカテゴリーのアイコンがタグのままでした。
<span class="fa fa-folder cat-icon tax-icon" aria-hidden="true">
わいひら reacted
2025年2月12日 23:03
breadcrumbs.phpの以下で(is_single() || is_category())と判定している。
このため、以下tmp/breadcrumbsを呼んでいるが、(is_single() || is_category())の判定はなくてもいいのでは?
カスタム投稿を考慮し、breadcrumbs.phpにページの反映を集約した方がいいかも。
ここら辺はこちらで修正してみました。
https://github.com/xserver-inc/cocoon/commit/b399a16eef6d8f9b5dc336cd8c560eb3bbc9c756
先に、if (is_category())で判定しているので、if(!paged())は常にtrueとなり、以下の処理はされないのでは?
カテゴリページの2ページ目以降はif(!paged())はfalseになりません?
上記のパンくず出力の判定を変更し、以下でカスタム投稿にも対応できたと思います。
お時間があるときに試していただき、ご検討、参考になればと思います。
こちらはそのままファイルに当てはめてみました。
https://github.com/xserver-inc/cocoon/commit/e149141b1063128e1f1da1785c66823155cdad69
上記みたいな感じで大丈夫でしょうか。
トピックスターター 2025年2月12日 23:22
@yhira さん
ありがとうございます。
以下については通常投稿で、設定した位置にパンくずが出力されることを確認しました。
ひきつづき確認してみます。
ここら辺はこちらで修正してみました。
https://github.com/xserver-inc/cocoon/commit/b399a16eef6d8f9b5dc336cd8c560eb3bbc9c756
添付したコードにミスがあるかもしれないので、わいひらさんの方でもテスト、確認願います。
時間が取れないので、確認が十分できないかもしれません。
カテゴリページの2ページ目以降はif(!paged())はfalseになりません?
is_categoryの中の処理なので、そもそもif (!is_paged())となり、else文は動作しません。
言い方が悪かったですが、if文は不要で、以下だけでいいのでは?
cocoon_template_part('tmp/category-content');
わいひら reacted
2025年2月12日 23:40
newsカスタム投稿を作成して、news-genreカスタムタクソノミーも作成しnewsカスタム投稿に紐付けました。
newsカスタム投稿で新しい記事を書いて、news-genreカスタムタクソノミーは以下のように作成しました。
この場合、パンくずリストは添付画像のように表示されるのは、意図した通りの動作でしょうか。
この投稿は1か月前 2回ずつわいひらに変更されました
トピックスターター 2025年2月12日 23:47
この場合、パンくずリストは添付画像のように表示されるのは、意図した通りの動作でしょうか。
●返答
通常投稿ページのパンくずの動作も、投稿に紐づいた先頭のカテゴリーで表示をしていたかと思います。
ここの仕様が分かりにくく、これで正解なのか判断できません。
テンプレートにフックに置き換わってしまっています!!!
参考のコードはソースコードへの反映をしていないものがあります。
https://github.com/xserver-inc/cocoon/blob/master/tmp/categories-tags.php
変なコードが入っています
わいひら reacted
2025年2月12日 23:57
is_categoryの中の処理なので、そもそもif (!is_paged())となり、else文は動作しません。
言い方が悪かったですが、if文は不要で、以下だけでいいのでは?
これの簡略化したコードはこちらですよね。
if ( is_category() ){ //////////////////////////// //カテゴリーページのコンテンツ //////////////////////////// if (!is_paged()) { cocoon_template_part('tmp/category-content'); } else { cocoon_template_part('tmp/list-title'); } }
これがどのような動作をするかといえば、添付画像のように感じになるかと思います。
僕の認識もこれと同じで実際に、カテゴリの2ページ目以降でcocoon_template_part('tmp/list-title');の上の行でvar_dump('tmp/list-title')しても出力されるようです。
この投稿は1か月前 3回ずつわいひらに変更されました
2025年2月13日 00:02
変なコードが入っています
すいません…。
音声入力と併用してコードを編集していたので、雑音が入ってしまったみたいです。削除しておきました。
https://github.com/xserver-inc/cocoon/commit/d134b5fef3bc0ae9906019c15e8153f14daa797c
2025年2月13日 00:29
通常投稿ページのパンくずの動作も、投稿に紐づいた先頭のカテゴリーで表示をしていたかと思います。
ここの仕様が分かりにくく、これで正解なのか判断できません。
Custom Post Type UIを使用していると、多数のオプションがあってすべて対応すると、かなり大変だと思うので、何かひとつ出れば良いと僕も思います。
テンプレートにフックに置き換わってしまっています!!!
参考のコードはソースコードへの反映をしていないものがあります。https://github.com/xserver-inc/cocoon/blob/master/tmp/categories-tags.php
とりあえず、categories-tags.phpのタグは元に戻し、フックはとりあえずfunction.phpに貼っておきました。
大門未知子 reacted
トピックスターター 2025年2月13日 00:50
投稿ページのパンくずの動作、変更していなです。
一通りカスタム投稿が反映されることを確認しました。
投稿のカテゴリー・タグ表示ですが、タクソノミーがカテゴリーまたはタグの扱いなので、HTML出力する際、面倒と思いフックとしました。
フックではなく、categories-tags.phpに反映するか、判断願います。
●余談
ご参考の範囲だったので、ここまでサポートするとは考えていませんでした。
パンくずの出力判定を各テンプレートから削除する程度で、あとは個人のカスタマイズに任せるかと。
ありがとうございます。
わいひら reacted
2025年2月13日 20:37
ありがとうございます。
本文下のカテゴリボタン表示部分にタクソノミが反映されるのがいいですね。僕は思いついたこともなかったです。
投稿のカテゴリー・タグ表示ですが、タクソノミーがカテゴリーまたはタグの扱いなので、HTML出力する際、面倒と思いフックとしました。
フックではなく、categories-tags.phpに反映するか、判断願います。
通常使用のカテゴリー・タグとタクソノミ部分が、別れていた方が保守がしやすそうです。
コードの場所は変更するかもしれませんが、フックで使わせていただこうと思います。
トピックスターター 2025年2月13日 21:44
----------------------------------------------
テーマ名:Cocoon
バージョン:2.8.4.3
カテゴリー数:19
タグ数:124
ユーザー数:1
----------------------------------------------
一通り動作確認をして問題ないと思います。
本件をクローズとします。
●余談
Cocoonは個別要素のフック、追加いただいたテンプレートフックとカスタマイズし易いかと思います。
このため、工夫次第だと思え。
レーダーチャートブロックですが、CTAブロックのようにショートコードを呼び出すような作りだと、更に色々できるかなと思いました。
例えば、カスタムフィールドの値を取得し、チャート出力とか。
以前も話したかと思いますが、cocoon_template_partに$argsを追加すれば、set_query_varを用いることもなくなり。
更に、cocoon_part_args__{$slug}を追加することで、拡張性が上がるかも?
要望でのサポートですが、コードについてxserverの方も含めレビューするとか、第三者としてテストしてもらうとか、わいひらさんの負担が減ることを願います。
わいひら reacted
トピックスターター 2025年2月13日 23:25
●追伸
今回のパンくずですが簡易的なサポートになります。
カスタム投稿タイプに対し、カスタムタクソノミーは1つか見てません。
運用で、タクソノミー(カテゴリー)、(タグ)というように複数のタクソノミーを用いる場合があるかと思います。
また、複数タクソノミーを用いることができるので、運用次第で、雑な構成(例えば、地域、製品、受講レベルなど)も可能なので、そこまでは考慮できません。
わいひら reacted
トピックスターター 2025年2月14日 13:34
●対策
上記で述べたように、カスタムタクソノミーは、階層型有無で複数設定できます。
これを考慮し複数タクソノミーに対応しました。
確認の上、コード、ファイルの置換え願います。
※書き込んだあとに、パンくず表示にタクソノミー(タグ)が含まれるなど、バグがありました。
例
// 管理画面にカスタム投稿メニューを追加 add_action('init', function() { // カスタム投稿タイプを追加 $args = [ 'public' => true, // 投稿タイプを公開する 'label' => 'お知らせ', // 管理画面での表示 'menu_position' => 5, // 投稿の下に表示 'menu_icon' => 'dashicons-info-outline', // アイコンフォント 'has_archive' => true, // 一覧ページ作成 'show_in_rest' => true, // ブロックエディタ表示 'supports' => [ // 投稿に表示する項目 'title', // タイトル 'editor', // 編集 'thumbnail', // サムネイル 'excerpt', // 抜粋 ] ]; register_post_type('news', $args); // カスタムタクソノミーを追加(カテゴリー) $tax_args= [ 'hierarchical' => true, // 階層あり 'label' => '地域', // 管理画面での表示 'show_in_rest' => true, // ブロックエディタ表示 ]; register_taxonomy('news-cat', 'news', $tax_args); // カスタムタクソノミーを追加(タグ) $tax_args= [ 'hierarchical' => false, // 階層なし 'label' => '学校', // 管理画面での表示 'show_in_rest' => true, // ブロックエディタ表示 ]; register_taxonomy('news-tag', 'news', $tax_args); });
●breadcrumbs.php
複数のタクソノミーを対象する。
変更後コード(ファイル置き換え)
https://notepad.pw/share/ITgGXbvXJDpvSh0I2UoW
●functions.php
categories-tagsのフィルターで、階層の場合カテゴリー、階層でない場合タグとして各々を出力する。
https://github.com/xserver-inc/cocoon/blob/38a82da6a52c41824d0997c74fa22df5addbe1c1/functions.php#L535-L578
変更後コード(コード置き換え)
https://notepad.pw/share/CFV6u377uIHka3dmdFb8
●utils.php
複数のタクソノミーを対象とし、先頭のタームをラベル表示。
https://github.com/xserver-inc/cocoon/blob/38a82da6a52c41824d0997c74fa22df5addbe1c1/lib/utils.php#L97-L126
変更コード(コード置き換え)
https://notepad.pw/share/xew3X1KyA7h0BjBwNtFC
わいひら reacted
トピックスターター 2025年2月14日 14:17
●バグ対策
開いたページがタームページのとき、階層有無でパンくず、アーカイブタイトルのアイコンを変更するよう修正しました。
●functions.php
複数タクソノミーに対応し、タームページのアイコンを正しく表示するように修正。
https://github.com/xserver-inc/cocoon/blob/38a82da6a52c41824d0997c74fa22df5addbe1c1/functions.php#L134-L186
変更コード
https://notepad.pw/share/S8u8ebatBc0klVRwCSuv
●breadcrumbs.php
バグ対策しました。
https://notepad.pw/share/I6ci0qGpJIe9iW2x8POX
わいひら reacted
トピックスターター 2025年2月14日 22:04
●最終コード
上記のコードをまとめました。
そのまま、ファイル差し替えればいいようになっています。
●breadcrumbs.php
https://notepad.pw/share/k7nLTxu7fCHMgPWlf2XW
●utils.php
https://notepad.pw/share/FNl8OX7IY5f47WSHa8WO
●functions.php
わいひら reacted
2025年2月15日 20:02
ありがとうございます。
適用して確認してみます。
2025年2月16日 15:32
コードを適用させていただきました。ありがとうございます。
カスタム投稿ページでもパンくずリストが階層表示されない原因となっていた部分が分かったので、そこだけ変更しておきました。
https://github.com/xserver-inc/cocoon/commit/71eaca180416373436e6cb415608d566147fb298
トピックスターター 2025年2月16日 15:56
変更したコードは、後日、テスト確認します、ご了承ください。
●info_listへの対応案
info_listへの対応も考えました。
以下に変更する関数を添付します。
お時間があるときにでも確認願えたらと思います。
https://notepad.pw/share/uWwtiEKQ1yhZyessdjrD
- オプションtaxonomy、post_typeを追加。
- 階層型タクソノミーだけカテゴリーとしてラベル表示。
- タームでの指定(絞り込み)オプションはなし。
●余談
new_listのとき、taxonomyはカテゴリー扱いなんですね...
階層型タクソノミーの場合、カテゴリー編集画面には「カテゴリー」と表示され(図参照)。
しかし、Cocoon独自のカテゴリー編集のラベルの色変更はなく。
少し課題が残るかと思います。
フォーラム内の過去の要望などで未対応で、できそうなことを、少しスキンサイトにカスタマイズ方法を纏めてあり。
今回は、そのCocoonカスタマイズネタの切り崩しです(笑)
わいひら reacted
トピックスターター 2025年2月16日 19:27
info_list対応、バグがあったので修正しました。
https://notepad.pw/share/TrS1LuuZ2W3MR3sE5oc2
----------------------------------------------
テーマ名:Cocoon
バージョン:2.8.4.4
カテゴリー数:19
タグ数:124
ユーザー数:1
----------------------------------------------
パンくずは問題ありませんでした。
わいひら reacted
トピックスターター 2025年2月16日 20:02
課題のカスタムタクソノミー編集のカテゴリーラベル設定を反映してみました。
●css-custom.php
階層タクソノミーのカテゴリーラベル色反映。
https://notepad.pw/share/nhcxNv6wDe4cRWaMLjlw
●content-tag.php
タクソノミー(カテゴリー)編集のとき、階層型タクソノミーなら、カラーラベル色変更を表示。
わいひら reacted
トピックスターター 2025年2月17日 16:15
以上で全て対応したかと思います。
カスタム投稿のとき、エディターのページ設定のメインカテゴリーにタームも反映するようにしました。
(コード中に★を付けています)
●utils.php
get_the_nolink_categoryフックでページ設定したメインカテゴリーをラベルに反映。
https://notepad.pw/share/R0MiThbsID3OmGrakj3I
●page-field.php
ページ設定のメインカテゴリー選択で、カスタム投稿でも設定したタームを表示。
https://notepad.pw/share/pMVMedBFA4G0hImYQBNo
●breadcrumbs.php
メインカタームをパンくずに反映。
わいひら reacted
2025年2月17日 23:46
ご確認いただきありがとうございます。
コードの方は明日確認させていただきます。
トピックスターター 2025年2月18日 00:24
拝承。
- カスタム投稿のときも、エディターのページ設定のメインカテゴリー(ターム)を設定可能としました。
- 階層型タクソノミーの場合、カテゴリー編集で、カテゴリー背景色、文字色を設定可能にしました(ラベルに反映)。
- info_listにpost_type、taxonomyオプションを追加しました。
わいひら reacted
2025年2月18日 20:34
- カスタム投稿のときも、エディターのページ設定のメインカテゴリー(ターム)を設定可能としました。
- 階層型タクソノミーの場合、カテゴリー編集で、カテゴリー背景色、文字色を設定可能にしました(ラベルに反映)。
- info_listにpost_type、taxonomyオプションを追加しました。
上記動作を、すべて確認させていただき問題が出ないこと、またエラー・警告・通知が出ないことを確認させていただきました。
https://github.com/xserver-inc/cocoon/commit/f95c1a75d12c414d77d367e1c16faeb7fb5e6e50
トピックスターター 2025年2月18日 21:14
----------------------------------------------
テーマ名:Cocoon
バージョン:2.8.4.4
カテゴリー数:19
タグ数:124
ユーザー数:1
----------------------------------------------
反映されていることを確認しました。
本件をクローズとします。
●余談
パンくずの位置に始まりましたが、中途半端なので、結局サポートしてしまいました。
ソース反映、お疲れ様でした。
お陰で良い勉強になりました。
わいひら reacted
2025年2月19日 23:10
ご確認いただきありがとうございます。
大規模に変更していただき結構大変だったであろうかと存じます。
お力添えいただきありがとうございます。
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。