【WordPressループ外でも使用できるから、これは便利すぎる!】記事本文を出力する方法はthe_contentだけではなかった

勉強で作ったWordPressプラグイン「Newpost Catch」の機能追加のために色々プログラムを変更しているのですが・・・投稿の本文を加工する必要が出てきました。よく使うであろうWordPressのテンプレートタグは、

  • 投稿の本文を出力する 「the_content」

がありますが、このテンプレートタグを使うと全文出力されます。今回は「投稿の本文を加工したいので何か方法はないか」と思っていたのですが、色々探しまわって、出力する方法を見つけました。

私的には重要なことなので、以下に書きとめておこうかと思います。

get_the_content

または

$post->post_content(global変数$postを使用する)

上記を使っても取得できます。この方法は「the_content」とは違い、

本文に何か加工をしてから出力させたい場合には重宝します。

使い方は、例えば「本文中の文字数を指定して出力したい」ってことがあるとします。

30文字で出力する場合を考えますと、

【ケース1】

<?php
echo mb_substr(get_the_content(), 0, 30);
?>

【ケース2】

<?php
global $post;
echo mb_substr($post->post_content, 0, 30);
?>

上記のどちらを使ってもOKです。

これを応用すれば、条件文と組み合わせることで、例えば本文中の投稿で特定のhtmlタグで囲まれた文字列を取得したりできます。まさに今それをやっているのですが、使い方いろいろですね。

このやりかたは覚えておいても損はしないと思います。個人的に最も使えると思ったのは、「WordPressループ外でも使用できる」という点です。

ちなみに、下記サイトを参考にさせていただきました。ありがとうございます。

とても詳しく書かれていて、わかりやすいです。とても勉強になりました。

記事のいろいろな情報をGetする。 | WPCMS.jp

WordPressで記事の本文を加工して出力する方法を情報をお探しの方に、ご参考いただければ幸いです。

著者:bouya Imamura