投稿記事一覧で文字数を制限して表示

TITLE
Tweet about this on TwitterShare on Google+0Buffer this pageShare on Facebook0

「SyntaxHighlighter Evolved」を導入したにもかかわらず、このページだけ表示が崩れていたので、(無精者なので)新しくページを追加して最終コードを表記しました。
ご参考までに WordPressの投稿記事一覧で本文の文字数を制限する方法 (コピーするだけですけど…)

WordPressの記事を投稿した時の一覧表示のページで、表示される文字の文字数を決めて「続きを読む」という表示をよく見かけますが、投稿画面で<!–more–>を使えますが自動ではないんですよね…。
そこでphpファイルにちょこっと追加して便利にしてみましょう。

テーマの種類にもよるとおもいますが、大概「index.php」の中に<?php the_content() ? >という表記があります。
そこを

<?php echo substr(strip_tags($post-> post_content), 0, 200); ? >
<a href=”<?php the_permalink(); ? >” class=”more-link”><br /> ▼続きを読む</a >

に書き換えます。

200という数字が文字制限のカウントですが日本語ですと100=60文字程度らしいので、
デザインによって調整して下さい。
これで固定された文字数になるので、デザイン的な崩れを気にしなくて済みそうですね。
<!–more–>を入れてしうと文字化けして表示されてしまうので、使い勝手の好みは分かれるでしょうけど、無精者には便利かもです…。

追記:9月1日2010年
コメントに情報を頂いて、上記のソースを下記の通りに修正しました。

<?php echo mb_substr(strip_tags($post-> post_content), 0, 200); ? >
<a href=”<?php the_permalink(); ? >” class=”more-link”><br /> ▼続きを読む</a >

追記:6月14日2012年
コメントに情報を頂いて、上記のソースを下記の通りに修正しました。
北野様、貴重な情報有り難うございました!

<?php echo mb_substr(strip_tags($post-> post_content), 0, 200); ?>
<a href=”<?php the_permalink(); ?>” class=”more-link”><br /> ▼続きを読む</a >

17 Responses to 投稿記事一覧で文字数を制限して表示

  1. CrushPOW says:

    >匿名様
    お疲れ様です……私も同じような経験あります……。
    お役に立てて良かったです!
    Wordpressの文字数制限って結構色んな箇所で使う機会が多いんですよね〜。
    最近ブログの更新をサボりまっくているので、ためになる情報をまた更新していきたいと思います!

  2. 匿名 says:

    朝の五時まで、続きを読むの修正コードを探しまくり、翌日もほぼ1日中、色んなコードを試したのですが、うまく機能せず、こちらのコードを使って、なんと解決いたしました☆本当に、言い表せない位感謝しております*ありがとうございます。

  3. POW says:

    Ted様> コメント有り難うございます!コーディングもぜひ頑張って下さい!

  4. Ted says:

    本件、解決しました!コーディング全くだめだめですが助かりました。ありがとうございました!

  5. Pingback: the_content | 出る杭の備忘録

  6. Pingback: WordPressの続きを読む | 公開懺悔日記

  7. POW says:

    >>北野様
    貴重な指摘有り難うございます!
    ちょっと遅くなりましたが、ソースを直しました。
    半角…見落としまくりです…。

  8. 北野誠一郎 says:

    はじめまして。
    コードですが、”が”で表示されているのと
    ? >と言うところで?と>の間に空白があるのエラーになるようです。
    0, 200); ? >の部分とpermalink(); ? >の部分です。
    時間があれば直していただければと思います。

  9. Pingback: 自動でmore~ 続きを読む  wordpress » スタッフのブログ

  10. Pingback: pc.casey.jp » [WordPress] 記事本文の文字数と広告コード出力

  11. Pingback: LIFE TAM - 投稿記事一覧ページで一つの記事の文字数を自動で制限出来る便利なプラグイン。

  12. Hidden says:

    おー!ありがとうございます!
    完璧です!
    日本語対応していないみたいなので「続きを読む」などを入れると文字化けしてしまいますが、英語であれば問題無いみたいです。
    本当に助かりました!

  13. POW says:

    >>Hiddenさん
    ありがとうございます。

    上記のコードなんですが、全コードを見ていないので何とも言えないのですが、どうやらテンプレートによっては動かない場合があるようです。

    プラグインでは「WP Limit Posts Automatically」
    http://wordpress.org/extend/plugins/wp-limit-posts-automatically/
    なるものがありますよ!

    試してみてはどうでしょうか?
    私は試していないのですが、便利そうですよね。

  14. Hidden says:

    すいません、コメント欄に直接コードを書き込んだらタグが反映されてしまったのか記述した通りに表示されていないようです。

  15. Hidden says:

    お世話になります。
    僕も記事一覧ページで自動で「続きを読む」を挿入してレイアウトをスッキリさせたいと思いググっていたらこちらの記事に辿り着きました。
    プラグインですぐ解決!と安易に考えたんですが無いんですね。笑

    そしてこちらの記事に書かれているコードを埋め込んでみたのですが、真っ白で何も表示されなくなってしまいまして・・・。
    初心者なもので何かアドバイス頂けますと幸いです。

    ここのコードを、

    このように変更しました。

    post_content), 0, 200); ? > <a href=”” class=”more-link”> ▼続きを読む

    お手数おかけしてすみません。

  16. POW says:

    >>匿名様
    うぉ!「mb_substr」で文字化け解消しました。
    いつの間にか文字化けしてたのですが、無精者なのでほっといていました…。
    スッキリしました。有難うございます!

  17. 匿名 says:

    substr では文字数的に化けちゃうので、
    mb_substr がおすすめです。

    無精者なのでコピらせてもらいました、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。