プログラミング

[WordPress テンプレートタグ] the_titleとwp_titleの違いを解説

こんにちはの方もこんばんはの方もようこそ、イカスミです。

WordPressでテーマ制作などをやっているとき、the_titleとwp_titleの違いについて気になったことはありませんか?

僕も本で勉強していて、ちょっと気になったので、違いについてまとめようと思います。

この記事でわかること

  • テンプレートタグとは
  • the_title、wp_titleとは
  • the_titleとwp_titleの違い

テンプレートタグとは

テンプレートタグとは、Wordpressが定義するPHPの関数です。

簡単に使用できるので、PHPに詳しい必要がないのがポイントです。

the_title

the_titleは、投稿のタイトルを表示する関数です。

この関数は、必ずWordPressループの中で使う必要があります。

wp_title

wp_titleは、ブログページのタイトルを表示する関数です。

詳しくは、この後解説しようと思います。

 

the_titleとwp_titleの違い

それでは、the_titleとwp_titleの違いを、スクショとコードで解説していきます。

ちなみに、この記事で使うスクショは、「WordPress 仕事の現場でサッと使える! デザイン教科書」で使用しているテーマのスクショです。

こちらのホームページを見てください。

投稿が3つ並んで表示されています。

投稿部分のコードは、このようになっています。

 html
<article id="post-<?php the_ID(); ?>" <?php post_class('news'); ?>>
    <div class="news_pic">
        <a href="<?php the_permalink(); ?>">
            <?php if (has_post_thumbnail()) : ?>
                <?php the_post_thumbnail('medium'); ?>
            <?php else : ?>
                <img src="<?php echo get_template_directory_uri(); ?>/assets/img/common/noimage_600x400.png" alt="">
            <?php endif; ?>
        </a>
    </div>
    <div class="news_meta">
        <?php the_category(); ?>
        <time class="news_time" datetime="<?php the_time('Y-m-d'); ?>"><?php the_time('Y年m月d日'); ?></time>
    </div>
    <h2 class="news_title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
    <div class="news_desc">
        <?php the_excerpt(); ?>
        <p><a href="<?php the_permalink(); ?>">[続きを読む]</a></p>
    </div>
</article>

the_titleで、投稿のタイトルが表示されているのがわかります。

では、このthe_titleをwp_titleに変更するとどうなるでしょうか?

投稿のタイトルが表示されなくなりました。

次は、違うページを例に挙げてみます。

こちらは、カテゴリーページのスクショです。

「お知らせ」というカテゴリーページのタイトルが表示されています。

このページの投稿部分のソースコードは、こちらです。

 html
<?php if (is_month()) : ?>
                    <h2 class="main_title"><?php the_time('Y年m月'); ?></h2>
                <?php else : ?>
                    <h2 class="main_title"><?php wp_title(''); ?></h2>
                <?php endif; ?>

今回の場合、wa_titleにより、カテゴリー名である「お知らせ」が表示されています。

それでは、wp_titleをthe_titleに変えてみます。

「お知らせ」ではなく、投稿のタイトルが表示されてしまいました。

 

まとめ

結論を言うと、それぞれのテンプレートタグは、

  • the_titleは、投稿のタイトルを表示したいとき
  • wp_titleは、カテゴリーページなどの、特定の用途のページのタイトルを表示したいとき

のような場合に使うべきです。

実際は、the_titleの方が、使う機会が多そうですね。

最後までご覧いただき、ありがとうございました。

-プログラミング
-,