ワードプレスのis_archive関数の使用方法・解説

概要

is_archive 関数は、現在のクエリがアーカイブページかどうかを調べる際に使用される関数です。アーカイブページとしては、カテゴリ、タグ、日付、カスタム投稿タイプなどが含まれます。特に以下のような機能を実装する際によく用いられます。

  1. 投稿リストの表示
  2. アーカイブ用の特別なスタイルやレイアウトを適用する
  3. 特定のアーカイブに対してカスタムクエリを実行する
  4. ページ遷移を制御する
  5. 特定の条件に応じたウィジェットの表示制御
  6. トラッキングのためのスクリプトを条件的に読み込む
  7. アーカイブページのナビゲーションを改良する
  8. 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

サンプルコード

  1. アーカイブページに特別なクラスを追加

    • アーカイブページかどうかを確認し、特別なクラスを 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/

  2. アーカイブタイトルのカスタマイズ

    • アーカイブページにタイトルを追加するカスタム関数です。
    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/

  3. ウィジェットをアーカイブページにのみ表示

    • アーカイブページでのみ特定のウィジェットを表示します。
    if (is_archive()) {
       the_widget('WP_Widget_Recent_Posts');
    }
    

    引用元: https://developer.wordpress.org/reference/classes/wp_widget_recent_posts/

  4. アーカイブページ用のカスタムクエリ

    • アーカイブページでカスタムクエリを実施する方法を示します。
    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/

  5. 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/

この関数は特定のワードプレスバージョンで非推奨または削除されていません。

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


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