サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
Topic starter
2024年9月28日 12:01
初めまして。
themes/cocoon-child-master/archive.phpにカスタムタクソノミーで絞り込んだ記事一覧を表示しています。
絞り込み条件のタクソノミーを同ページタイトル、ディスクリプションに追加しようと模索してますが、
タイトルは404に、ディスクリプションは空欄になってしまいます。
こちら適切な関数や、競合している可能性があるCocoon設定等あればをお伺いできると幸いです。
【試したこと】
1. archive.phpに以下関数を追加(h1はこれで動的に変更できました)。
<?php get_header(); global $custom_taxonomies; // 現在のタームを取得 $current_terms = get_current_taxonomy_terms(); // 動的な見出し、タイトル、ディスクリプションを生成 $term_names = array(); foreach ($current_terms as $taxonomy => $terms) { foreach ($terms as $term) { $term_names[] = $term->name; } } $term_string = implode(' ', $term_names); //記事ジャンル(例:"ドラマ", "映画")等が入る // 見出しの生成 $heading = $term_string . 'のおすすめ記事一覧'; // タイトルの生成 $title = $term_string . 'のおすすめ一覧'; // ディスクリプションの生成 $description = $term_string . 'のおすすめ一覧です。'; // タイトルとディスクリプションの設定 add_filter('pre_get_document_title', function() use ($title) { return $title; //404 }); add_action('wp_head', function() use ($description) { echo '<meta name="description" content="' . esc_attr($description) . '">'; //空欄 }, 1); // 見出しの表示 echo '<h2>' . esc_html($heading) . '</h2>'; //成功 get_sidebar(); get_footer(); ?>
2. function.phpに以下関数を追加。
function custom_cocoon_title($title) { if (is_tax() || is_archive()) { $term_string = get_current_term_string(); if (!empty($term_string)) { return $term_string . 'のおすすめ一覧'; } } return $title; } add_filter('wp_title', 'custom_cocoon_title', 10); add_filter('pre_get_document_title', 'custom_cocoon_title', 10); function custom_cocoon_meta_description($description) { if (is_tax() || is_archive()) { $term_string = get_current_term_string(); if (!empty($term_string)) { return $term_string . 'のおすすめ一覧です。'; } } return $description; } add_filter('get_the_excerpt', 'custom_cocoon_meta_description', 9); add_filter('get_meta_description_desc', 'custom_cocoon_meta_description', 9); function custom_cocoon_meta_description_output() { if (is_tax() || is_archive()) { $description = custom_cocoon_meta_description(''); if (!empty($description)) { echo '<meta name="description" content="' . esc_attr($description) . '">' . "\n"; } } } add_action('wp_head', 'custom_cocoon_meta_description_output', 1);
【環境情報】
---------------------------------------------- サイト名:XXX サイトURL: https://XXX.com ホームURL: https://XXX.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.6.2 PHPバージョン:7.4.33 ブラウザ:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 サーバーソフト:LiteSpeed サーバープロトコル:HTTP/1.1 エンコーディング:gzip, deflate, br, zstd 言語:ja,ja-JP;q=0.9,en-US;q=0.8,en;q=0.7 ---------------------------------------------- テーマ名:Cocoon バージョン:2.7.7.4 カテゴリー数:35 タグ数:0 ユーザー数:1 ---------------------------------------------- 子テーマ名:Cocoon Child バージョン:1.1.3 style.cssサイズ:844 バイト functions.phpサイズ:5788 バイト ---------------------------------------------- Gutenberg:1 Font Awesome:4 Auto Post Thumbnail:0 Retina:0 ホームイメージ:/wp-content/themes/cocoon-master/screenshot.jpg ---------------------------------------------- ブラウザキャッシュ有効化:1 HTML縮小化:0 CSS縮小化:0 JavaScript縮小化:0 Lazy Load:0 ---------------------------------------------- 利用中のプラグイン: Advanced Custom Fields 6.3.6 Really Simple CSV Importer 1.3 Simple Custom CSS and JS 3.48 WordPress Popular Posts 7.0.1 WP File Manager 8.0 ----------------------------------------------
2024年9月28日 16:54
まず事前に、自前のコードのカスタマイズの問題解決やPHPコードのカスタマイズ方法などはサポートの対象外なので、完全に対応するのは難しいことを事前にご了承ください。
https://wp-cocoon.com/not-supported/
こういうのは実際のページの動作も見てみないと詳しい仕様とかを把握しきれないので、確かなことは分かりません。
ただコードを見た感じ、違和感を感じた部分といえば、get_meta_description_descというフックは、悟空にはなかったかと思います。またget_the_excerptというのは抜粋を変更するものなので、あまり意味がないようにも思います。
タイトルを変更する場合は、Cocoonにあるフィルターフックのtitle_parts_customとかを使うと良いのかもしれません。
2024年9月28日 18:39
Cocoonの場合、archive.phpを作成しなくても、カスタム投稿タイプ(custom_type)やカスタムタクソノミー(映画)を設定すると、アーカイブは/custom_type/映画/で表示されると思います。
その際、カテゴリー編集で入力した「タイトル」と「メタディスクリプション」が反映されるはずです。
わいひら reacted
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。