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

概要

get_the_archive_titleフィルタは、WordPressのアーカイブページのタイトルを表示する際に、そのタイトルを変更できる非常に便利なフィルタです。このフィルタは、アーカイブページをカスタマイズしたい開発者に重宝されています。よく使われる機能には以下のようなものがあります。

  1. アーカイブページタイトルの変更
  2. プラグインやテーマによるカスタマイズ
  3. ユーザーによるフレンドリーなタイトルの生成
  4. タイトルに特定の文字列を追加
  5. タイトルの形式を変更
  6. 日付やカテゴリー名のフォーマット変更
  7. SEOの最適化
  8. 特定の条件によるタイトルの非表示

構文

apply_filters('get_the_archive_title', $title);

パラメータ

  • $title (string): アーカイブページの元のタイトル。

戻り値

  • 変更されたタイトル (string)。

関連する関数

ワードプレスのバージョン

  • WordPress 4.1 以降で利用可能です。

コアファイルのパス

  • wp-includes/general-template.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_title', function($title) {
    if (is_category()) {
        $title = 'カスタムカテゴリ名: ' . single_cat_title('', false);
    }
    return $title;
});

このコードは、カテゴリのアーカイブページのタイトルを「カスタムカテゴリ名: [カテゴリ名]」に変更します。

サンプルコード2: 日付アーカイブのタイトルを変更

add_filter('get_the_archive_title', function($title) {
    if (is_date()) {
        $title = 'アーカイブ: ' . get_the_date('F Y');
    }
    return $title;
});

このコードでは、日付アーカイブのタイトルを「アーカイブ: [月 年]」に変更します。

サンプルコード3: 特定のカスタム投稿タイプのタイトルを変更

add_filter('get_the_archive_title', function($title) {
    if (is_post_type_archive('custom_post_type')) {
        $title = 'カスタム投稿タイプのアーカイブ';
    }
    return $title;
});

カスタム投稿タイプのアーカイブページのタイトルを「カスタム投稿タイプのアーカイブ」に設定します。

サンプルコード4: タイトルにカウントを追加

add_filter('get_the_archive_title', function($title) {
    if (is_author()) {
        $post_count = count_user_posts(get_the_author_meta('ID'));
        $title .= '(投稿数: ' . $post_count . ')';
    }
    return $title;
});

著者のアーカイブページのタイトルに、投稿数を追加するコードです。

サンプルコード5: カテゴリーに固有のタイトルを設定

add_filter('get_the_archive_title', function($title) {
    if (is_category('特定のカテゴリー')) {
        $title = '特定のカテゴリーのタイトル';
    }
    return $title;
});

特定のカテゴリーに対して専用のタイトルを設定するサンプルコードです。

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


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