wp投稿記事the_content()の途中にソースコードをphpで強引に挿入する方法
ワードプレスに慣れてくると、記事本文を出力するthe_content()の途中にソースコードを入れたくなることもあります。
そんな時、phpで強引にやる方法があるので、参考までに紹介したいと思います。
wordpressの投稿記事では、single.phpのテンプレートファイルにthe_content()のテンプレートタグを利用することで、管理画面に入力していたテキスト情報が表示されます。
この時、the_content()で出力されるテキストの途中にソースコードを仕込みたい人は多いと思います。
たとえば、記事の途中にアドセンス広告を挿入させたいなんて時があります。これはカスタム投稿で、最初から記事エリア1と記事エリア1みたいに切り分けておけばラクなのですが、途中から挿入するとなると、そういうわけにもいきません。
そんな時、「original_adv_space」なんて置換用メッセージを対象記事に記述することで、共通した内容を表示させる方法があります。
答えとしては、「the_content()」の関数自体をちょっと修正する、というものです。
目次
the_content()を改修する方法
wordpressのwp-include階層化にある、「post-template.php」を開きます。
「function the_content」で検索をかけると該当の箇所が見つかります。
丸っとコピペして、the_content2と改名して、最後のechoをreturnとします。
これで、the_content()の内容をいったん文字列として取得して、phpファイル側から操作できるようになります。
置換用のコードを埋めておく意味
先ほどの「original_adv_space」なんて置換用メッセージを準備しておくと、のちほどの修正が楽になります。
たとえば、100個の投稿記事に、横長サイズの広告記事を示すコードをそのまま記述してしまうと、それを後から正方形バナー二つにしよう!なんて修正をする際、すべて手入力するか、DB側で一括置換するなどの手間が発生してしまいます。
ただ、「original_adv_space」といった一義的な置換コードを埋めておくと、「original_adv_space」を編集しているphpファイルを修正するだけで、対象記事すべてに修正内容が反映されます。
なので、投稿記事の途中になんかしらコードを入れたい時などに、この方法を知っておくとかなり便利です。
注意点
wp-includeの中のファイルを編集しますので、wordpressのバージョン更新などあった際、もしかしたら「post-template.php」の更新もされてしまい、ある日突然、作っていたスペースが消えてしまう、なんてことがあるかもしれませんので注意が必要です。
参考
上記の方法を見つけた人の記事がこちらです。(本当、ありがたく使わせて頂きました。)