WordPressの投稿本文をHTMLタグを除外

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

WordPressで、投稿の一覧を、下記のような条件で表示させるための方法をメモしました。

  • 投稿の本文を文字数制限して表示。
  • 文字数制限をすると、HTMLタグが途中で途切れてレイアウトが崩れてしまう場合があるため、HTMLタグを除外する。
  • でも、改行<br>や文字色などの装飾<span>など特定のHTMLタグは残す。

投稿の本文の文字数を制限し、HTMLタグを削除して表示する

wordpressの投稿で、文字数制限をしたい本文のテンプレートタグ<?php the_content();  ?>の代わりに下記のコードを記述。

<?php
if(mb_strlen($post-&amp;amp;gt;post_content, 'UTF-8')&amp;amp;gt;120){
 $content= mb_substr(strip_tags($post-&amp;amp;gt;post_content), 0, 120, 'UTF-8');
 echo $content.'……';
}else{
 echo strip_tags($post-&amp;amp;gt;post_content);
}
?>

本文がHTMLタグも含め120文字より多い場合は、HTMLタグを削除した120文字を表示し、最後に「……」を付ける。本文がHTMLタグも含め120文字以下の場合は、HTMLタグを外して全文表示。

↓こちらを参考にさせて頂きました。
もう悩まない! WordPressのタイトルと本文の文字数
http://www.m-hand.co.jp/program/5130/

特定のHTMLタグを残したい場合

wordpressの投稿で、文字数制限をしたい本文のテンプレートタグ<?php the_content(); ?>の代わりに下記のコードを記述。

<?php
if(mb_strlen($post->post_content, 'UTF-8')>120){
$content= mb_substr(strip_tags(apply_filters('the_content', $post->post_content), '<br><p><span>'), 0,120, 'UTF-8');
echo $content.'……';
}else{
echo strip_tags(apply_filters('the_content', $post->post_content), '<br><p><span>');
}
?>

本文がHTMLタグも含め120文字より多い場合は、<br>タグと<p>タグと<span>タグを残しそれ以外のHTMLタグを削除した120文字を表示し、最後に「……」を付ける。
本文がHTMLタグも含め120文字以下の場合は、<br>タグと<p>タグと<span>タグを残しそれ以外のHTMLタグを削除し全文を表示。

↓こちらを参考にさせて頂きました。
$post->post_content;は整形前の生のデータを抜き出してしまう | hacknote
http://hacknote.jp/archives/4148/

パートナー型Webプロダクション

Juitaは、低価格高クオリティスピード感で高評価のホームページ・ランディングページ制作を中心にバリ島で活動するフリーランスWebデザイナー。
デザイン、コーディング、バナー制作等、日本全国、インドネシア(バリ島、ジャカルタ)ご依頼承ります。

リピート率100!

こんなお悩みありませんか?
・制作費用をおさえたい
・コーディングのみ、デザインのみ依頼したい
・他社に依頼したけど、対応が遅くて本来の業務が進まない
・他デザイナーに依頼したら、連絡がとれなくなってしまった
・継続的に信頼できる制作パートナーを探してる

日本全国、インドネシア国内外の広告代理店様、制作会社様よりご依頼承ります。


詳しくはコチラ

SNSでもご購読できます。

コメントを残す

*

Juita Design, バリ島フリーランス・ホームページ制作事務所(SOHO)