これはカンタン! 記事をmoreタグの前後で分割して出力する方法

スポンサーリンク

WordPressで書いている記事をmoreタグ (<-- more -->) の前後で分割して出力したい! と思う人は少なからずいるのではないかと思います。

以前に同様のことを実現するカスタマイズ方法を記事にしましたが、今回はもっとカンタンに、しかもどんなテンプレート環境でも確実に分割して出力できる方法をご紹介したいと思います。

前後で分割して出力
Bisected Photo by Wajahat Mahmood

カスタムするのはsingle.phpだけ!

以前書いたやり方だと、いじらなければならないファイルがfunctions.phpとsingle.phpの2つだったんですが、今回の方法ではsingle.phpのみをいじくるだけで実装することができます。

また、以前の方法にはちょっとした問題点もあって、テンプレート環境によって前後に分割されずに出力されてしまうこともあったんですね。

で、今回紹介する方法はおそらくどんなテンプレート環境であっても、まず間違いなく分割出力されるはずです。

実装方法

実装するコードは以下のとおり。

<?php if(strpos(get_the_content(),'id="more-')) : global $more; $more = 0; the_content(''); ?>
<!-- ここに挟みこみたい要素を挿入 -->
<?php $more = 1; the_content('', true); else : the_content(); endif; ?>

single.phpの中にある記事出力の関数である、

<?php the_content(); ?>

を見つけたら、上記のコードと差し替えるだけです。
前後それぞれのコードをdiv要素やsection要素で括ってid属性やclass属性を与えてやれば、いろいろとデザインもしやすいですよ。

また、以前の方法と同様に、分割したコードの間に広告や関連記事を挿入することも容易です。

今回この記事を書くに当たり、実際に当ブログのテンプレートでもこの方法を試してみたところ、しっかりとmoreタグの前後で分割して出力されることを確認しています。

まぁ、本格的に実装するとなると再度CSSをゴリゴリ変えなきゃならんので、分割出力されることを確認したあと戻しましたが。なにせ最近記事エリアのデザインを変えたばかりなのもあって、今すぐやるのはちとめんどいw

とりあえず次回の「Blog Crowd」のときにでも本格的な実装をしようかなと思っています。

「Hacks」新着記事

カスタムブロックを追加するなら「Block Lab」プラグインを導入すると幸せかもしれない

Avatar for ホシナ カズキ

ホシナ カズキ

「Password Checkup」がChromeユーザーのセキュリティを守ってくれるかもしれない

Avatar for ホシナ カズキ

ホシナ カズキ

Facebookアプリで3D写真投稿機能をONにするには? 試してみたら本当にできた件

Avatar for ホシナ カズキ

ホシナ カズキ

Twitterアプリに搭載されたデータセーブ機能をONにする方法

Avatar for ホシナ カズキ

ホシナ カズキ

大規模・広範囲にわたるクラッキングによるWordPress改ざん事案が発生中

Avatar for ホシナ カズキ

ホシナ カズキ

もっと見る

モバデビモバイルウェブのネタ、ニュースMaciPhoneなどのApple関連、WordPressのことなど、いろいろ書く雑食系ブログメディア。
ためになるかもしれないし、ならないかもしれない。そこそこ更新してますそこそこ。

このブログについてもっと詳しく