うっかり

メンテ中のままにしてました…(;´Д`)
中身いじってただけで更新は何もありませぬ。


WordPress小ネタ:記事の表示範囲を会員/非会員の区別によって任意の位置で区切る

旧聞ですが最近使ったネタをば。
日経やasahi.comみたいに、会員と非会員で表示を分ける方法。

普通は single.php に

<?php
if(is_user_logged_in()):
	the_content();
else:
	the_excerpt();
?>
<p>この記事は会員限定です。 ……………</p>
<?php endif; ?>

みたいにするわけですが、興味を引きつけたい記事なのに先頭から○○文字とかで自動的にぶった切られてしまいます。できれば <!-- more --> の位置まで見せたい。

そういう時は、単体記事ページでも more の動作を使うためのひと工夫を。

Function Reference/the content :: Overriding Archive/Single Page Behavior
http://codex.wordpress.org/Function_Reference/the_content#Overriding_Archive.2FSingle_Page_Behavior

<?php
if(is_user_logged_in()):
	the_content();
else:
	global $more;
	$more = 0;
	the_content('');
?>
<p>この記事の続きは会員限定です。 ……………</p>
<?php endif; ?>

みたいな内容を書けば、非会員の会員登録を誘引できそうな位置で、記事を一旦切ることが出来ると。便利便利。