ワードプレスのget_the_archive_descriptionフィルタの使用方法・解説

概要

get_the_archive_description フィルタは、アーカイブページの説明を取得する際に使用されます。このフィルタを使うことで、デフォルトのアーカイブ説明文をカスタマイズしたり、追加情報を付加することができます。通常、カスタム投稿タイプやカテゴリー、タグのアーカイブページで説明を表示する際に利用されます。

このフィルタがよく使われる機能は次の通りです:

  1. カテゴリーアーカイブの説明を追加
  2. タグアーカイブのカスタマイズ
  3. カスタム投稿タイプの説明変更
  4. ウィジェットやサイドバーでの情報表示
  5. メタデータの取得と表示
  6. SEOの強化に寄与
  7. テンプレート内での柔軟なテキスト表示
  8. 多言語対応のための説明文の変更

構文

add_filter('get_the_archive_description', 'custom_archive_description');

パラメータ

  • string $description : デフォルトのアーカイブ説明文。

戻り値

  • string : カスタマイズ後のアーカイブ説明文。

関連する関数

https://refwp.com/?titleonly=1&s=get_the_archive_description

使用可能なバージョン

  • WordPress 4.1以降で利用可能。

コアファイルのパス

  • wp-includes/query.php

この関数のアクションでの使用可能性

アクション 使用可能
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプルコード 1: カテゴリーアーカイブの説明を追加

add_filter('get_the_archive_description', 'add_category_description');
function add_category_description($description) {
    if (is_category()) {
        $description .= ' - こちらのカテゴリには多くの投稿があります。';
    }
    return $description;
}

このコードはカテゴリーアーカイブページでデフォルトの説明文の後に追加テキストを付加します。

サンプルコード 2: タグアーカイブのカスタマイズ

add_filter('get_the_archive_description', 'custom_tag_description');
function custom_tag_description($description) {
    if (is_tag()) {
        return 'タグの説明: ' . $description;
    }
    return $description;
}

このコードではタグのアーカイブページで説明文の前にプレフィックスを追加しています。

サンプルコード 3: カスタム投稿タイプの説明変更

add_filter('get_the_archive_description', 'custom_post_type_description');
function custom_post_type_description($description) {
    if (is_post_type_archive('movie')) {
        return '映画のアーカイブです。' . $description;
    }
    return $description;
}

このコードはカスタム投稿タイプ「movie」のアーカイブページで説明文の前に定型句を追加します。

サンプルコード 4: 動的な説明文を追加

add_filter('get_the_archive_description', 'dynamic_archive_description');
function dynamic_archive_description($description) {
    if (is_archive()) {
        return '現在のアーカイブ: ' . get_the_archive_title();
    }
    return $description;
}

このコードはアーカイブページで現在のアーカイブタイトルを説明文に追加します。

サンプルコード 5: 説明文を完全に置き換え

add_filter('get_the_archive_description', 'replace_archive_description');
function replace_archive_description($description) {
    return 'アーカイブ情報:ここにはすべての投稿が含まれています。';
}

このコードは全てのアーカイブページで説明文を完全に置き換えます。

この関数について質問する


上の計算式の答えを入力してください