get_archives_link()

get_archives_link()
目次

get_archives_link()の用途

get_archives_link() は、WordPress でアーカイブリンク(例:月別アーカイブなど)を生成する内部関数です。通常は wp_get_archives() の内部で使われるため、直接使うことはあまりありませんが、自作ループなどでアーカイブリンクをカスタム表示したいときには役立ちます。

get_archives_link()の使用方法

get_archives_link( string $url, string $text, string $format = 'html', string $before = '', string $after = '' )

get_archives_link()のパラメータ一覧

パラメータ説明
$urlstringアーカイブページへのURL(例:/2024/06/など)
$textstringリンクとして表示するテキスト(例:2024年6月など)
$formatstringリンクのフォーマット形式(デフォルト:html
$beforestringリンクの前に追加されるHTML(例:<li>など)
$afterstringリンクの後に追加されるHTML(例:</li>など)

get_archives_link()の使用例

HTMLリストで月別アーカイブを手動で出力

$archives = wp_get_archives([
    'type' => 'monthly',
    'format' => 'custom',
    'echo' => 0
]);

// 出力される各アーカイブのデータを分解して手動で加工したいとき
global $wpdb;
$results = $wpdb->get_results("
    SELECT DISTINCT YEAR(post_date) AS year, MONTH(post_date) AS month
    FROM $wpdb->posts
    WHERE post_type = 'post' AND post_status = 'publish'
    ORDER BY post_date DESC
");

echo '<ul>';
foreach ( $results as $result ) {
    $url  = get_month_link( $result->year, $result->month );
    $text = sprintf( '%d年%02d月', $result->year, $result->month );
    echo get_archives_link( $url, $text, 'html', '<li>', '</li>' );
}
echo '</ul>';

$formatの種類

説明
html<li><a href="...">テキスト</a></li>(通常形式)
option<option value="URL">テキスト</option>(セレクトボックス用)
link<a href="...">テキスト</a>(プレーンリンク)
customHTMLなしの純粋な文字列(wp_get_archives() でのみ有効)

get_archives_link()の使いどころ

  • 独自デザインのアーカイブウィジェットを作成するとき
  • カスタム投稿タイプや特殊なフィルター条件でアーカイブリンクを生成したいとき
  • セレクトボックス形式でアーカイブを表示したいとき

get_archives_link()の関連関数

関数名役割
wp_get_archives()アーカイブリンクを一覧出力(内部で get_archives_link() を使用)
get_month_link()指定年月のアーカイブURLを取得
get_year_link()指定年のアーカイブURLを取得
get_post_type_archive_link()カスタム投稿タイプのアーカイブURLを取得
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初めてホームページを作成したのは1996年。
2000年よりフリーランスで主に中小企業、学校、各種公的団体、個人事業主のWordPressを活用したホームページ制作を行っています。WordPressテーマはそれぞれのクライアントに合わせて作成しています。
WordPressを活用したサイト運営のための情報発信をしていきます。

目次