概要
is_month
関数は、現在のクエリが特定の月のアーカイブを表示しているかどうかを判断するために使用されます。この関数は特に以下のような機能を実装する際に役立ちます。
- 月別アーカイブページのカスタマイズ
- アーカイブウィジェットの表示条件設定
- 月別コンテンツのフィルター処理
- SEO対策のためのメタタグ設定
- 特定の月だけに関連するコンテンツの表示
- ユーザーインターフェースの動的変更(ボタンやリンクの表示・非表示)
- 特定の月に基づくショートコードの実行
- メールマガジンの内容の条件付き生成
構文
is_month();
パラメータ
この関数はパラメータを受け取りません。
戻り値
true
:現在のページが月別アーカイブページである場合false
:そうでない場合
関連する関数
使用可能なバージョン
この関数はWordPress 1.5以降で使用可能です。
コアファイルのパス
wp-includes/query.php
サンプルコード
以下に、is_month
関数を使用したサンプルコードを5つ示します。
サンプルコード1: 月別アーカイブページのメッセージ表示
if (is_month()) {
echo '<h2>このページは月別アーカイブです。</h2>';
}
このコードは、現在のページが月別アーカイブページの場合にメッセージを表示します。
サンプルコード2: 特定の月に関連するコンテンツの表示
if (is_month()) {
// 特定の月のカスタム投稿タイプの表示
$args = array(
'post_type' => 'custom_post',
'date_query' => array(
array(
'year' => get_query_var('year'),
'month' => get_query_var('monthnum'),
),
),
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
the_title();
}
}
}
このコードは、現在の月のカスタム投稿タイプを取得し、タイトルを表示します。
サンプルコード3: メタタグの設定
if (is_month()) {
echo '<meta name="description" content="この月のアーカイブページです。">';
}
このコードは、月別アーカイブページのために特定のメタタグを設定します。
サンプルコード4: 月別アーカイブリンクの表示
if (is_month()) {
echo '<a href="' . get_month_link(get_query_var('year'), get_query_var('monthnum')) . '">この月のアーカイブを見る</a>';
}
このコードは、現在の月のアーカイブへのリンクを表示します。
サンプルコード5: 月に基づいたショートコードの実行
if (is_month()) {
echo do_shortcode('[custom_shortcode]');
}
このコードは、月別アーカイブページで特定のショートコードを実行します。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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 |
この関数は、特定のWordPressバージョンで非推奨または削除されていません。