WordPress:the_content()の内容をmore前後で分割して出力する方法

WordPress:the_content()の内容をmore前後で分割して出力する方法

備忘録。
WordPressで投稿内容を出力する際に使用するthe_content()ですが、それをmoreタグの前後で分割してそれぞれ任意の場所に表示させる方法です。
この方法を利用すれば単純に出力内容を分割させるだけでなく、その間に何か任意の内容を表示させるといったこともできます。

June 21, 2017 追記

get_extended()という関数を利用することでも、more前後のコンテンツをそれぞれ出力することが可能でした。

moreタグより前の内容を出力する

moreタグ(<!--more-->)より上にあるコンテンツを表示したい時は、表示したい箇所へ下記のように記述します。

<?php global $more; $more = 0; the_content(''); ?>

moreタグより後の内容を出力する

moreタグ(<!--more-->)より下にあるコンテンツを表示したい時は、表示したい箇所へ下記のように記述します。

<?php global $more; $more = 1; the_content('', true); ?>

moreタグの前後間に何かコンテンツを表示する

上記方法でそれぞれmoreタグの前後でコンテンツを出力できるようになりますが、これを組み合わせればmore前後間に何かをコンテンツを表示させるということができます。
すでに<?php the_content(); ?>を使用している場合はそれと差し替える形で下記のように記述し、あとはother contents here ...としている箇所に例えば広告やバナーを入れたりSNSボタンを配置したりなどすれば、コンテンツの間に任意のコンテンツを容易に入れることができます。

<?php global $more; $more = 0; the_content(''); ?>

other contents here ...

<?php $more = 1; the_content('', true); ?>

追記:関数がありました

上で紹介したmore前後でそれぞれ出力させたい動きは、get_extended()という関数を利用することでも可能でした。
使い方は下記のような形になり、[main]キーを指定すればmoreより前を、[extend]キーを指定すればmoreより後の内容を出力します。

<?php echo get_extended( $post->post_content )['main']; ?>

<?php echo get_extended( $post->post_content )['extended']; ?>

Close the search window,
please press close button or esc key.