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カスタマイズ依頼

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

アーカイブページのタイトル,ディスクリ...
 
共有:
通知
すべてクリア

アーカイブページのタイトル,ディスクリプションを動的にする方法

3 投稿
3 ユーザー
1 Reactions
134 表示
(@dahachin)
New Member Registered
結合: 3か月前
投稿: 1
トピックスターター  

初めまして。

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
----------------------------------------------

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

まず事前に、自前のコードのカスタマイズの問題解決やPHPコードのカスタマイズ方法などはサポートの対象外なので、完全に対応するのは難しいことを事前にご了承ください。
https://wp-cocoon.com/not-supported/

こういうのは実際のページの動作も見てみないと詳しい仕様とかを把握しきれないので、確かなことは分かりません。
ただコードを見た感じ、違和感を感じた部分といえば、get_meta_description_descというフックは、悟空にはなかったかと思います。またget_the_excerptというのは抜粋を変更するものなので、あまり意味がないようにも思います。

タイトルを変更する場合は、Cocoonにあるフィルターフックのtitle_parts_customとかを使うと良いのかもしれません。


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

Cocoonの場合、archive.phpを作成しなくても、カスタム投稿タイプ(custom_type)やカスタムタクソノミー(映画)を設定すると、アーカイブは/custom_type/映画/で表示されると思います。
その際、カテゴリー編集で入力した「タイトル」と「メタディスクリプション」が反映されるはずです。


   
わいひら reacted
返信引用
共有:

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

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

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

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

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

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

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

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