【Wordpress】テンプレートタグまとめ

WordPressのテンプレートで投稿やページの情報を取得するテンプレートタグをまとめました。

## タイトル関連

### `the_title()`
このタグは、現在の投稿やページのタイトルを表示します。通常、ループ内で使用します。

例えば、`single.php` で投稿のタイトルを表示するには、次のように使います。

```php
<h1><?php the_title(); ?></h1>
```

このコードは、シングル投稿ページで投稿タイトルを表示するために使用します。

### `get_the_title($post_id)`
`get_the_title()` は、指定された投稿やページのタイトルを取得します。表示せずにタイトルを変数に格納したい場合に使用します。IDを指定して、他の場所でタイトルをカスタム表示するのに便利です。

例えば、特定の投稿のタイトルを取得してカスタム表示する場合、以下のように使います。

```php
$title = get_the_title(123); // 投稿ID 123のタイトルを取得
echo '<h2>' . $title . '</h2>';
```

これで、投稿ID 123 のタイトルを表示することができます。

### `single_post_title()`
このタグは、単一投稿ページ（シングルページ）でのみ使われるタイトルを表示します。ループ外で使用することが多いです。`single.php` で主に使用します。

例えば、ヘッダー部分に投稿タイトルを表示するには、次のように使います。

```php
<h1><?php single_post_title(); ?></h1>
```

このコードは、シングルページのタイトルを出力します。

### `wp_title()`
このタグは、現在のページや投稿に関連するタイトルを `<title>` タグ内に出力します。通常、`header.php` で使用します。

例えば、SEO対応のためにページタイトルを `<title>` タグ内に表示する場合、次のように使います。

```php
<title><?php wp_title('|', true, 'right'); ?></title>
```

このコードは、ページタイトルを生成し、`|` で区切って出力します。

## 投稿ID関連

### `the_ID()`
このタグは、現在の投稿やページのIDを表示します。ループ内で使用するのが一般的です。

例えば、各投稿のIDをCSSクラスとして使いたい場合、次のように使います。

```php
<article id="post-<?php the_ID(); ?>">
  <!-- 投稿内容 -->
</article>
```

これにより、投稿IDをCSSの識別子として使用できます。

### `get_the_ID()`
このタグは、現在の投稿やページのIDを取得し、変数に格納します。表示せずにIDを操作したい場合に使います。

例えば、投稿IDを取得してカスタムクエリに利用する場合、次のように使います。

```php
$post_id = get_the_ID();
echo '現在の投稿IDは ' . $post_id;
```

これで、現在の投稿IDを変数に格納し、その値を他の処理に使用できます。

## パーマリンク関連

### `the_permalink()`
このタグは、現在の投稿やページのパーマリンク（URL）を表示します。ループ内で、リンクを作成する際に使います。

例えば、投稿のタイトルをリンクにする場合、次のように使います。

```php
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
```

このコードで、投稿タイトルをクリック可能なリンクとして表示できます。

### `get_permalink($post_id)`
このタグは、指定した投稿やページのパーマリンクを取得します。表示せずにURLを操作したい場合に使います。

例えば、特定の投稿のパーマリンクをカスタムリンクとして使用する場合、次のように使います。

```php
$permalink = get_permalink(123); // 投稿ID 123 のパーマリンクを取得
echo '<a href="' . $permalink . '">こちらをクリック</a>';
```

これで、特定の投稿へのリンクをカスタムHTMLとして出力できます。

### `post_type_archive_link($post_type)`
このタグは、指定されたカスタム投稿タイプのアーカイブページのリンクを取得します。カスタム投稿タイプのアーカイブページリンクをメニューやウィジェットで使用する場合に便利です。

例えば、カスタム投稿タイプ `products` のアーカイブリンクを取得して表示するには、次のように使います。

```php
$archive_link = post_type_archive_link('products');
echo '<a href="' . $archive_link . '">すべての製品を見る</a>';
```

これで、カスタム投稿タイプのアーカイブページへのリンクを作成できます。

## アイキャッチ画像関連

### `the_post_thumbnail($size)`
このタグは、現在の投稿や固定ページのアイキャッチ画像を表示します。サイズを指定して出力することができます。

例えば、投稿一覧でサムネイル画像を表示するには、次のように使います。

```php
if (has_post_thumbnail()) {
    the_post_thumbnail('thumbnail');
}
```

これにより、サムネイルサイズのアイキャッチ画像が表示されます。

### `get_the_post_thumbnail($post_id, $size)`
このタグは、指定した投稿やページのアイキャッチ画像を取得します。表示せずにカスタムHTMLに使用したい場合に使います。

例えば、特定の投稿のアイキャッチ画像を取得して表示するには、次のように使います。

```php
$thumbnail = get_the_post_thumbnail(123, 'medium');
echo '<div class="custom-thumbnail">' . $thumbnail . '</div>';
```

これで、カスタムサイズのアイキャッチ画像を取得し、カスタムHTMLとして表示できます。

### `get_post_thumbnail_id($post_id)`
このタグは、アイキャッチ画像のIDを取得します。画像のIDを使用してメタデータを操作したい場合に使います。

例えば、画像IDを取得してメタ情報を表示するには、次のように使います。

```php
$thumbnail_id = get_post_thumbnail_id(123);
$alt_text = get_post_meta($thumbnail_id, '_wp_attachment_image_alt', true);
echo '画像の代替テキストは: ' . $alt_text;
```

これで、画像IDを使って画像のメタ情報を取得できます。

### `wp_get_attachment_image_url($thumbnail_id, $size)`
アイキャッチ画像の指定サイズのURLを取得します。この関数は画像専用で、サイズを指定できます。

```php
$thumbnail_id = get_post_thumbnail_id(123); // 投稿ID 123 のアイキャッチ画像IDを取得
$thumbnail_url = wp_get_attachment_image_url($thumbnail_id, 'full'); // フルサイズのURLを取得
echo '<img src="' . $thumbnail_url . '" alt="サムネイル">';
```

### `wp_get_attachment_url($attachment_id)`
この関数は、画像以外のファイル（PDFや音声ファイル、動画など）のフルサイズURLを取得するために使います。画像ファイル以外を含む添付ファイルに対応します。

```php
$attachment_url = wp_get_attachment_url($thumbnail_id); // PDFや音声ファイルのURLを取得
echo '<a href="' . $attachment_url . '">ファイルをダウンロード</a>';
```

### `has_post_thumbnail($post_id)`
このタグは、投稿やページにアイキャッチ画像が設定されているかどうかを判定します。画像が設定されている場合にのみ画像を表示する場合に使います。

例えば、サムネイル画像がある場合のみ表示するには、次のように使います。

```php
if (has_post_thumbnail()) {
    the_post_thumbnail();
} else {
    echo '画像は設定されていません。';
}
```

これで、画像が設定されている場合のみ、アイキャッチ画像を表示します。

## 投稿日時関連

### `the_date()`
このタグは、投稿やページの公開日を表示します。通常は、ループ外で使用します。

例えば、日付をページのタイトル上部に表示するには、次のように使います。

```php
<p class="post-date"><?php the_date(); ?></p>
```

これで、投稿の公開日が表示されます。

### `get_the_date($format, $post_id)`
このタグは、投稿やページの公開日を取得します。カスタムフォーマットで日付を表示したい場合に使います。

例えば、日付を「年-月-日」の形式で取得して表示するには、次のように使います。

```php
$date = get_the_date('Y-m-d');
echo '公開日: ' . $date;
```

これで、指定したフォーマットの日付が表示されます。

### `the_time()`
このタグは、投稿やページの公開時刻を表示します。ループ内で使用します。

例えば、公開時刻を表示するには、次のように使います。

```php
<p class="post-time"><?php the_time('H:i'); ?></p>
```

これで、投稿の公開時刻が表示されます。

### `get_the_time($format, $post_id)`
このタグは、投稿やページの公開時刻を取得します。カスタムフォーマットで時刻を表示したい場合に使います。

例えば、時刻を「時:分」の形式で取得して表示するには、次のように使います。

```php
$time = get_the_time('H:i');
echo '公開時刻: ' . $time;
```

これで、指定したフォーマットの時刻が表示されます。

### `the_modified_date()`
このタグは、投稿やページの最終更新日を表示します。投稿が更新された日付を表示したい場合に使います。

例えば、最終更新日を表示するには、次のように使います。

```php
<p class="modified-date">最終更新日: <?php the_modified_date(); ?></p>
```

これで、最終更新日が表示されます。

### `get_the_modified_date($format, $post_id)`
このタグは、投稿やページの最終更新日を取得します。カスタムフォーマットで最終更新日を表示したい場合に使います。

例えば、更新日を「年-月-日」の形式で取得して表示するには、次のように使います。

```php
$modified_date = get_the_modified_date('Y-m-d');
echo '最終更新日: ' . $modified_date;
```

これで、指定したフォーマットの更新日が表示されます。

## 投稿者関連

### `the_author()`
このタグは、投稿者名を表示します。ループ内で使用します。

例えば、投稿者名を記事の下部に表示するには、次のように使います。

```php
<p class="post-author">投稿者: <?php the_author(); ?></p>
```

これで、投稿者名が表示されます。

### `get_the_author()`
このタグは、投稿者名を取得します。表示せずにカスタムHTML内で使用する場合に使います。

例えば、投稿者名を取得してカスタム表示するには、次のように使います。

```php
$author = get_the_author();
echo 'この記事を書いたのは ' . $author . ' です。';
```

これで、投稿者名を取得してカスタム表示できます。

### `the_author_posts_link()`
このタグは、投稿者のアーカイブページへのリンクを表示します。投稿者のプロフィールページへのリンクを作成したい場合に使います。

例えば、投稿者名をクリック可能にするには、次のように使います。

```php
<p>投稿者: <?php the_author_posts_link(); ?></p>
```

これで、投稿者名をリンクとして表示します。

### `get_the_author_meta($field, $user_id)`
このタグは、投稿者のメタデータ（例: 'display_name', 'user_email' など）を取得します。投稿者情報をカスタム表示したい場合に使います。

例えば、投稿者のメールアドレスを取得して表示するには、次のように使います。

```php
$author_email = get_the_author_meta('user_email');
echo '投稿者のメールアドレスは ' . $author_email . ' です。';
```

これで、投稿者のメールアドレスを取得して表示できます。

### `the_author_meta($field)`
このタグは、投稿者のメタデータを表示します。ループ内で投稿者情報を表示する場合に使います。

例えば、投稿者の表示名を表示するには、次のように使います。

```php
<p><?php the_author_meta('display_name'); ?></p>
```

これで、投稿者の表示名を出力します。

## コンテンツ関連

### `the_content($more_link_text, $strip_teaser)`
このタグは、現在の投稿や固定ページのコンテンツを表示します。ループ内で使用します。

例えば、投稿の内容をすべて表示するには、次のように使います。

```php
<div class="post-content">
    <?php the_content(); ?>
</div>
```

これで、投稿のコンテンツ全体が表示されます。

### `get_the_content($more_link_text, $strip_teaser)`
このタグは、投稿や固定ページのコンテンツを取得します。表示せずにカスタムHTML内で使用する場合に使います。

例えば、コンテンツを取得してカスタム表示するには、次のように使います。

```php
$content = get_the_content();
echo '<div class="custom-content">' . $content . '</div>';
```

これで、投稿のコンテンツを取得してカスタムHTMLで表示できます。

### `the_excerpt()`
このタグは、投稿の抜粋を表示します。ループ内で使用します。

例えば、投稿の一覧で抜粋を表示するには、次のように使います。

```php
<div class="post-excerpt">
    <?php the_excerpt(); ?>
</div>
```

これで、投稿の抜粋が表示されます。

### `get_the_excerpt($post_id)`
このタグは、投稿の抜粋を取得します。表示せずにカスタムHTML内で使用する場合に使います。

例えば、特定の投稿の抜粋を取得してカスタム表示するには、次のように使います。

```php
$excerpt = get_the_excerpt(123);
echo '<p class="custom-excerpt">' . $excerpt . '</p>';
```

これで、投稿の抜粋を取得してカスタム表示できます。

## カテゴリ・タグ関連

### `the_category()`
このタグは、投稿が属するカテゴリを表示します。ループ内で使用します。

例えば、投稿のカテゴリをリンクとして表示するには、次のように使います。

```php
<p class="post-category">カテゴリ: <?php the_category(', '); ?></p>
```

これで、投稿が属するカテゴリをリンク付きで表示します。

### `get_the_category($post_id)`
このタグは、投稿が属するカテゴリのオブジェクトを取得します。カテゴリ情報をカスタム表示したい場合に使います。

例えば、カテゴリのスラッグを取得して表示するには、次のように使います。

```php
$categories = get_the_category(123);
foreach ($categories as $category) {
    echo '<span class="category-slug">' . $category->slug . '</span>';
}
```

これで、指定した投稿のカテゴリスラッグを表示します。

### `the_tags()`
このタグは、投稿に関連するタグを表示します。ループ内で使用します。

例えば、投稿のタグをリンクとして表示するには、次のように使います。

```php
<p class="post-tags">タグ: <?php the_tags('', ', '); ?></p>
```

これで、投稿に関連するタグが表示されます。

### `get_the_tags($post_id)`
このタグは、投稿に関連するタグのオブジェクトを取得します。タグ情報をカスタム表示したい場合に使います。

例えば、タグ名を取得して表示するには、次のように使います。

```php
$tags = get_the_tags(123);
if ($tags) {
    foreach ($tags as $tag) {
        echo '<span class="tag-name">' . $tag->name . '</span>';
    }
}
```

これで、指定した投稿に関連するタグを表示します。

## タクソノミー関連

### `get_the_terms($post_id, $taxonomy)`
このタグは、指定した投稿の特定のタクソノミー（例: カテゴリ、タグなど）に関連するタームのオブジェクトを取得します。カスタムタクソノミーに関連する情報を表示したい場合に使います。

例えば、カスタムタクソノミー `genre` のタームを取得して表示するには、次のように使います。

```php
$terms = get_the_terms(123, 'genre');
if ($terms) {
    foreach ($terms as $term) {
        echo '<span class="genre-name">' . $term->name . '</span>';
    }
}
```

これで、指定した投稿に関連する `genre` タクソノミーのタームを表示します。

## サイト情報関連

### `bloginfo($show)`
このタグは、サイトに関するさまざまな情報を表示します。例えば、サイト名、URL、説明などを表示できます。

例えば、サイトのタイトルを表示するには、次のように使います。

```php
<p class="site-title"><?php bloginfo('name'); ?></p>
```

これで、サイト名が表示されます。

### `get_bloginfo($show, $filter)`
このタグは、サイトに関する情報を取得します。`bloginfo()` と似ていますが、表示せずに取得して操作する場合に使います。

例えば、サイトのURLを取得してリンクを作成するには、次のように使います。

```php
$site_url = get_bloginfo('url');
echo '<a href="' . $site_url . '">ホームページに戻る</a>';
```

これで、サイトのURLを使ってリンクを作成できます。

### `home_url($path, $scheme)`
このタグは、サイトのホームURLを取得します。特定のパスを含めたホームURLを取得する場合に使います。

例えば、ホームURLに特定のパスを追加してリンクを作成するには、次のように使います。

```php
$contact_url = home_url('/contact');
echo '<a href="' . $contact_url . '">お問い合わせページ</a>';
```

これで、ホームURLに `/contact` パスを追加したリンクを作成できます。

### `site_url($path, $scheme)`
このタグは、サイトのURLを取得します。`home_url()` と似ていますが、WordPressのインストールディレクトリが異なる場合に役立ちます。

例えば、管理画面のURLを取得してリンクを作成するには、次のように使います。

```php
$admin_url = site_url('/wp-admin');
echo '<a href="' . $admin_url . '">管理画面に移動</a>';
```

これで、サイトの管理画面へのリンクを作成できます。

---

これらのテンプレートタグを使用して、WordPressテーマ内でさまざまな情報を表示・取得できます。これを活用して、サイトのカスタマイズを行ってください。