【2023年最新】WordPressチートシート（コピペで使える）

WordPressのよく使うテンプレートタグをまとめてみました。

## 共通系
### テーマファイルのURIを取得する
テーマファイルのURIを取得します。
```php
<?php echo get_theme_file_uri(); ?>
```

### ホームページのURLを表示する
サイトのホームページURLを出力します。
```php
<?php echo esc_url(home_url('/')); ?>
```

### サイトの名前を表示する
サイトの名前を出力します（通常は`header.php`で使用）。
```php
<?php bloginfo('name'); ?>
```

### 文字セットを表示する
サイトの文字セットを出力します。
```php
<?php bloginfo('charset'); ?>
```

### サイトの言語を表示する
サイトの言語を出力します。
```php
<?php bloginfo('language'); ?>
```

### bodyタグにクラスを追加する
bodyタグに自動でクラスを追加します。
```php
<?php body_class(); ?>
```

### 投稿にクラスを追加する
投稿にクラスを追加します（例：`single.php`、`page.php`）。
```php
<?php post_class(); ?>
```

### サイトの説明を表示する
サイトの説明（タグライン）を出力します。
```php
<?php bloginfo('description'); ?>
```

## テンプレート読み込み系（＋α）
### ヘッダーテンプレートを読み込む
ヘッダーテンプレート（`header.php`）を読み込みます。
```php
<?php get_header(); ?>
```

### フッターテンプレートを読み込む
フッターテンプレート（`footer.php`）を読み込みます。
```php
<?php get_footer(); ?>
```

### サイドバーテンプレートを読み込む
サイドバーテンプレート（`sidebar.php`）を読み込みます。
```php
<?php get_sidebar(); ?>
```

### 指定したテンプレートパーツを読み込む
特定のテンプレートパーツ（例：`part-name.php`）を読み込みます。
```php
<?php get_template_part('part-name'); ?>
```

### 検索フォームを表示する
検索フォーム（通常は`searchform.php`）を表示します。
```php
<?php get_search_form(); ?>
```

### コメントテンプレートを読み込む
コメントセクション（`comments.php`）を読み込みます。
```php
<?php comments_template(); ?>
```

## 投稿系
### 投稿のタイトルを表示する
投稿のタイトルを出力します（例：`single.php`、`page.php`）。
```php
<?php the_title(); ?>
```

### 投稿の本文を表示する
投稿の本文を出力します。
```php
<?php the_content(); ?>
```

### 投稿の抜粋を表示する
投稿の抜粋を出力します。
```php
<?php the_excerpt(); ?>
```

### アイキャッチ画像を表示する
投稿のアイキャッチ画像を出力します。
```php
<?php the_post_thumbnail(); ?>
```

### 投稿のカテゴリーを表示する
投稿に関連付けられたカテゴリーを出力します。
```php
<?php the_category(); ?>
```

### 投稿のタグを表示する
投稿に関連付けられたタグを出力します。
```php
<?php the_tags(); ?>
```

### 投稿の時間を表示する
投稿の公開時間を出力します。
```php
<?php the_time(); ?>
```

### 投稿の日付を表示する
投稿の公開日を出力します。
```php
<?php the_date(); ?>
```

### 投稿者の名前を表示する
投稿者の名前を出力します。
```php
<?php the_author(); ?>
```

### 投稿のIDを表示する
投稿のIDを出力します。
```php
<?php the_ID(); ?>
```

### 投稿のパーマリンクを表示する
投稿のパーマリンク（URL）を出力します。
```php
<?php the_permalink(); ?>
```

### アイキャッチ画像のURLを取得する
アイキャッチ画像のURLを取得します。
```php
if ( has_post_thumbnail() ) :
    $thumbnail = get_the_post_thumbnail_url( get_the_ID(), 'medium');
else :
    $thumbnail = get_template_directory_uri() . '未設定の場合に表示する画像';
endif;
```

### すべてのカテゴリーを表示する
投稿に関連付けられたすべてのカテゴリーを出力します。
```php
$categories = get_the_category();
foreach($categories as $category) { 
    echo '<span>'.$category->name.'</span>';
}
```

### 最初のカテゴリーのみを表示する
投稿に関連付けられた最初のカテゴリーのみを出力します。
```php
$category = get_the_category();
echo '<span>'.$category[0]->name.'</span>';
```

## ナビゲーションとリンク
### 次の投稿へのリンクを表示する
次の投稿へのリンクを出力します。
```php
<?php next_post_link(); ?>
```

### 前の投稿へのリンクを表示する
前の投稿へのリンクを出力します。
```php
<?php previous_post_link(); ?>
```

### 次のページへのリンクを表示する
次のページへのリンクを出力します（例：アーカイブページ）。
```php
<?php next_posts_link(); ?>
```

### 前のページへのリンクを表示する
前のページへのリンクを出力します。
```php
<?php previous_posts_link(); ?>
```

### ナビゲーションメニューを表示する
カスタムナビゲーションメニューを出力します。
```php
<?php wp_nav_menu(); ?>
```


## 条件判断系
### トップページかどうかを判断する
```php
<?php if ( is_home() || is_front_page() ) : ?>
    <!-- ここにトップページの場合のみやりたい処理 -->
<?php endif; ?>
```

### 個別の投稿ページかどうかを判定する
個別の投稿ページ（`single.php`）であるかを判定します。
```php
is_singular()
```

### 単一の投稿ページかどうかを判定する
単一の投稿ページ（`single.php`）であるかを判定します。
```php
is_single()
```

### 固定ページかどうかを判定する
固定ページ（`page.php`）であるかを判定します。
```php
is_page()
```

### 特定のページテンプレートが使用されているかを判定する
特定のページテンプレートが使用されているかを判定します。
```php
is_page_template()
```

### アーカイブページかどうかを判定する
アーカイブページ（例：カテゴリー、タグページ）であるかを判定します。
```php
is_archive()
```

### 特定のカテゴリーページかどうかを判定する
特定のカテゴリーページであるかを判定します。
```php
is_category()
```

### タグのアーカイブページかどうかを判定する
タグのアーカイブページであるかを判定します。
```php
is_tag()
```

### タクソノミーのアーカイブページかどうかを判定する
特定のタクソノミーのアーカイブページであるかを判定します。
```php
is_tax()
```

### 作成者のアーカイブページかどうかを判定する
作成者のアーカイブページであるかを判定します。
```php
is_author()
```

### 日付に関連するアーカイブページかどうかを判定する
日付に関連するアーカイブページ（例：年別、月別アーカイブ）であるかを判定します。
```php
is_date()
```

### 404エラーページかどうかを判定する
404エラーページであるかを判定します。
```php
is_404()
```

### 複数ページにまたがっているかどうかを判定する
複数ページにまたがる投稿やアーカイブであるかを判定します。
```php
is_paged()
```

### 管理パネルが表示されているかどうかを判定する
WordPressの管理パネルが表示されているかを判定します。
```php
is_admin()
```

### ユーザーがログインしているかどうかを判定する
ユーザーがログインしているかを判定します。
```php
is_user_logged_in()
```

## カスタムフィールド（Advanced Custom Fields）用
### カスタムフィールドの値を表示する
カスタムフィールドの値を出力します（例：`single.php`、`page.php`）。
```php
<?php the_field(); ?>
```

### カスタムフィールドの値を取得する
カスタムフィールドの値を取得します。
```php
<?php get_field(); ?>
```

## CSSに書く系
### スタイルシートでテーマ名を指定する
スタイルシート内でテーマ名を指定します。
```css
@charset "utf-8"; /* Theme Name: ここにテーマ名 */
```

## ループ系
### メインクエリループ
```php
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();?>
    <!-- ここに処理を書く -->
<?php endwhile; endif; ?>
```

### サブクエリループ
```php
<?php
$args = array(
    'post_type' => 'posttype',
    'posts_per_page' => ,
);
$posttype_query = new WP_Query( $args );
if ( $posttype_query->have_posts() ): while ( $posttype_query->have_posts() ):
$posttype_query->the_post(); ?>
    ここに処理を書く
<?php endwhile; endif; wp_reset_postdata(); ?>
```

### サブクエリループのターム指定
```php
'tax_query' => array (
array (
   'taxonomy' => '$taxonomy-slug',
   'terms' => '$term-slug',
   'field' => 'slug',
),
```