Wordpressのテンプレートタグで、「<!--more-->」の前だけを表示させる方法を教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2009/10/04 22:35:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:rouge_2008 No.1

回答回数595ベストアンサー獲得回数351

ポイント60pt

http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%A...

書式: <?php the_content('more_link_text', strip_teaser, 'more_file'); ?>

説明: 記事の本文を出力。本文中にクイックタグがある場合、それより前の内容のみを表示させることもできる。

引数:

  • strip_tease (true/false)- <!--more-->以降の記事を隠すかどうか。

    • true(<!--more-->より前の記事のみを出力する)
    • false(デフォルト。記事全体を出力する)

「strip_teaser」を「true」とすることで、<!--more-->以降を隠して前の部分だけ表示できるそうですが、実際には逆の動作で前を隠して後ろだけの表示になりました。

記述する場所によって動作が異なるのかもしれませんが、もし上記が使えなかった場合は、テンプレートに次のコードを記述してみてください。

<?php $my_text = get_the_content(); ?>
<?php preg_match('/^([^<]+)<span id=\"more-[0-9]+\">/', $my_text, $my_text2); ?>
<?php $my_text2[1] = preg_replace("/(\r)?\n/", "<br />$1\n", $my_text2[1]) ; ?>
<p><?php echo $my_text2[1] ; ?></p>

その他の回答1件)

id:rouge_2008 No.1

回答回数595ベストアンサー獲得回数351ここでベストアンサー

ポイント60pt

http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%A...

書式: <?php the_content('more_link_text', strip_teaser, 'more_file'); ?>

説明: 記事の本文を出力。本文中にクイックタグがある場合、それより前の内容のみを表示させることもできる。

引数:

  • strip_tease (true/false)- <!--more-->以降の記事を隠すかどうか。

    • true(<!--more-->より前の記事のみを出力する)
    • false(デフォルト。記事全体を出力する)

「strip_teaser」を「true」とすることで、<!--more-->以降を隠して前の部分だけ表示できるそうですが、実際には逆の動作で前を隠して後ろだけの表示になりました。

記述する場所によって動作が異なるのかもしれませんが、もし上記が使えなかった場合は、テンプレートに次のコードを記述してみてください。

<?php $my_text = get_the_content(); ?>
<?php preg_match('/^([^<]+)<span id=\"more-[0-9]+\">/', $my_text, $my_text2); ?>
<?php $my_text2[1] = preg_replace("/(\r)?\n/", "<br />$1\n", $my_text2[1]) ; ?>
<p><?php echo $my_text2[1] ; ?></p>
id:hiro-rock No.2

回答回数39ベストアンサー獲得回数3

ポイント10pt

global $more;

$more = false;


これしてから、普通に「the_content()」するといいですよ


http://ja.forums.wordpress.org/topic/1425

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません