あべゴブログがgoogle newsで配信されることになりました!

フォローよろしくお願いします!

フォロー!

【wordpress】文字列を途中で省略して「…」や「…続きを読む」を差し込む方法【php】

web
スポンサーリンク

皆さんこんばんわ!AbeGoblinです!
さて、前回はjquery.inviewの実装方法をご紹介しました!簡単におしゃれな機能を実装できるjqueryプラグインでしたね!記事は以下からどうぞー!!

今回はwordpressとphpですねー!wordpressの方が気持ち強いかなー。
よく記事一覧とかでこう、それぞれの記事にその記事の書き出しとかがあって、途中から「…」とかついていますよね??「…続きを読む」とかね!その実装方法をご紹介できればと思います!

「…」を入れないパターンと入れるパターンをご紹介します。

早速コードです!

「…」入れないver

php
<?php
$content = get_the_content();//投稿内容を取得する
$content = wp_strip_all_tags( $content );//HTML要素を除く
$content = strip_shortcodes( $content );//ショートコードを除く
?>
<p><?php echo mb_substr( $content, 0, 62, 'UTF-8'); ?></p>

mb_substr()の第一引数は対象となる文字列第二引数はどこから文字数をカウントするかですね。第二引数は0でいいと思います。んで、第三引数は何文字投稿内容を表示するかを決めるところです。第四引数は文字コードですねー!ここもUTF-8固定でいいと思います。

つかこのコードを丸々使って第三引数で数字だけ変えればいい感じですね!

ほぼこのまま使えますからまるっと使っちゃいましょう!!

「…」入れるver

php
<p><?php echo mb_strimwidth(strip_tags($post->post_content),0, 100, "…", "UTF-8" ); ?></p>

これは短く見えますが、やってることはそんな変わってないですね!
strip_tags()で投稿からhtml要素をを除いて、それをmb_strimwidth()に入れる感じですね!

第三引数まではmb_substr()と同じですね!ただ第四引数は文の後につける文字列を入力します。んで第五引数は文字コードですねー!簡単ですね!

ちょっとmb_substr()と違うのは、第三引数に負の数値、つまりマイナスですね。これを入れますと、文末から〇文字目という指定の仕方になるというところですかねー!

使い方はほぼmb_substr()と同じです!第三引数をマイナスにすると、文末から〇文字目という指定に!

まとめ

今回はこのページ内にwordpressのループが書けないので、サンプルを見せられないのが残念です。ただこれも、普段僕が利用しているコードですのでうまく機能すると思います。
まぁ、phpマニュアルにも載っているのでそちらと照らし合わせながら使ってみてくださいね!

mb_substr() – phpマニュアル –
mb_strimwidth() – phpマニュアル –

それでは今回はこの辺で終わりにしようと思います!それではー(^q^)ノシ