概要
is_archive
関数は、現在のクエリがアーカイブページかどうかを調べる際に使用される関数です。アーカイブページとしては、カテゴリ、タグ、日付、カスタム投稿タイプなどが含まれます。特に以下のような機能を実装する際によく用いられます。
- 投稿リストの表示
- アーカイブ用の特別なスタイルやレイアウトを適用する
- 特定のアーカイブに対してカスタムクエリを実行する
- ページ遷移を制御する
- 特定の条件に応じたウィジェットの表示制御
- トラッキングのためのスクリプトを条件的に読み込む
- アーカイブページのナビゲーションを改良する
- SEOのためのメタタグの追加
構文
is_archive();
パラメータ
is_archive
関数はパラメータを受け取りません。
戻り値
is_archive
関数は、アーカイブページの場合に true
、それ以外の場合は false
を返します。
関連する関数
使用可能なバージョン
is_archive
関数は、WordPress 2.0.0 以降で使用可能です。
コアファイルのパス
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 |
サンプルコード
-
アーカイブページに特別なクラスを追加
- アーカイブページかどうかを確認し、特別なクラスを
body
タグに追加します。
function my_body_class($classes) { if (is_archive()) { $classes[] = 'archive-page'; } return $classes; } add_filter('body_class', 'my_body_class');
引用元: https://developer.wordpress.org/reference/functions/body_class/
- アーカイブページかどうかを確認し、特別なクラスを
-
アーカイブタイトルのカスタマイズ
- アーカイブページにタイトルを追加するカスタム関数です。
function custom_archive_title($title) { if (is_archive()) { $title = 'アーカイブ: ' . get_the_archive_title(); } return $title; } add_filter('get_the_archive_title', 'custom_archive_title');
引用元: https://developer.wordpress.org/reference/functions/get_the_archive_title/
-
ウィジェットをアーカイブページにのみ表示
- アーカイブページでのみ特定のウィジェットを表示します。
if (is_archive()) { the_widget('WP_Widget_Recent_Posts'); }
引用元: https://developer.wordpress.org/reference/classes/wp_widget_recent_posts/
-
アーカイブページ用のカスタムクエリ
- アーカイブページでカスタムクエリを実施する方法を示します。
function custom_archive_query($query) { if (is_archive() && $query->is_main_query()) { $query->set('posts_per_page', 10); } } add_action('pre_get_posts', 'custom_archive_query');
引用元: https://developer.wordpress.org/reference/hooks/pre_get_posts/
-
SEOメタデータの追加
- アーカイブページに対してSEO用のメタタグを設定します。
function add_meta_tags() { if (is_archive()) { echo '<meta name="description" content="アーカイブページのメタディスクリプション">'; } } add_action('wp_head', 'add_meta_tags');
引用元: https://developer.wordpress.org/reference/hooks/wp_head/
この関数は特定のワードプレスバージョンで非推奨または削除されていません。