【WordPress】get_the_archive_title() の接頭辞を削除する方法

  • WordPress

get_the_archive_title() は WordPress の一覧ページ、ターム別一覧ページ、年別一覧ページといった各種一覧系のページでイイ感じにタイトルを出力してくれる関数です。

ですが、これをそのまま出力すると余計な接頭辞(プレフィックス)がくっついてきます。

例えば「年別一覧ページ(たとえば date.php)」で 2020年の記事一覧を呼び出すと…

<?= get_the_archive_title() ?>

余計な「年:」という文字列がいっしょに出力されます。

年:2020年

今回はこの接頭辞がいらないので削除してみます。

すべての get_the_archive_title の接頭辞を削除する

get_the_archive_title()に引数を渡して接頭辞を削除!ということはできません。代わりに、接頭辞をカスタマイズできるフィルターが用意されています。

もし、すべてのget_the_archive_title()の接頭辞を削除したい場合は、get_the_archive_title_prefixフィルターを使いましょう。これが一番シンプルです。

functions.php

  // アーカイブタイトル接頭辞削除
  add_filter('get_the_archive_title_prefix', function($prefix) {
    $prefix = '';
    return $prefix;
  });

$prefixに接頭辞が入ってくるので、空文字を代入しておくことで削除することができます。

また、get_the_archive_title() を見るともう少し細かい情報を取得できるフィルターget_the_archive_titleというものもあります(関数名と同名のフィルターなので紛らわしい)。

用途によってこちらのフィルターを使ってみるのもアリかもしれません。