1. TOP
  2. Wordpress
  3. WordPressでタイトルと記事の文字数制限して表示や取り出す方法

WordPressでタイトルと記事の文字数制限して表示や取り出す方法

Wordpressの文字数制限で記事やタイトルで取り出して表示

WordPressサイトで記事のタイトルや本文を出力する場合に、文字数を制限する方法を解説します。

例えば、タイトルが長くて、レイアウトが崩れたりする場合に、予め文字数を制限しておけば、このような心配は不要になります。

また、本文の文章を全部表示させずに、一部だけ抜き出して表示させることもできます。

PHPを使用した方法ですが、この記事のコードをコピー&ペーストで簡単に設定できるので試してください。

タイトルの文字数を制限

タイトルの文字数を制限します。次のコードを使用します。

上記のコードでは、タイトルが20文字に制限します。必要に応じて文字数「20」を変更してください。

タイトルの後ろに省略記号「…」を表示する場合は、次のように記載します。

なお、上記のコードは全てのタイトルに「…」が表示されます。

タイトルが短くて省略していない場合でも「…」が付くため、省略していない場合に「…」を表示しないのではあれば、次のようにします。

タイトルにhtmlやphpのタグが含まれる場合は除去する必要があります。通常であれば、タイトルにタグが含まれることは稀ですが、除去する場合は以下のように記述します。

本文の文字数を制限

本文の文字数を制限して表示したい場合は、以下のコードを使用します。

本文から200文字取り出して表示します。「200」は自由に変更してください。

本文を省略したことを現わす「…」を表示する場合は、以下のように変更します。

「…」で、本文が抜粋されて省略されていることが分かりやすくなりました。

なお、本文が短くて省略していない場合でも「…」は表示されます。

例えば、設定を「200」にした場合に、200文字以上は「…」が表示されて、それ未満であれば表示しないなら以下のように記述します。

また、本文から取り出す位置を指定することも可能です。

例えば、本文の最後から200文字取り出す場合は、「-」記号を記入します。

PHP関数の解説

文字数を制限するのに使用するPHP関数を少し解説します。

mb_substr

「mb_substr」は日本語の文字数を指定して、取り出す関数です。

strip_tags

「strip_tags」は取り出す文字から、「HTML」や「PHP」を除去してくれます。

$post-> post_content

「$post-> post_content」は本文から取り出します。「post_ title」にするとタイトルから取り出す意味になります。

応用方法

本文から文字を取り出す場合に、更に細かく調整したい場合もあるはずです。

  • 投稿記事にショートコードが含まれる場合は除去する。
  • 投稿記事がパスワードで保護されている場合は抜き出さないようにする。
  • WordPressの自動整形機能の関数「wpautop」により調整して出力します。

このような細かい部分も考慮するのであれば、以下のように変更します。

抜粋文の文字数を制限

トップページやカテゴリーなどの記事一覧に表示する抜粋文の文字数を制限します。

抜粋分の位置について

抜粋文は「<?php the_excerpt(); ?>」を使用して表示します。

上記では抜粋文を100文字に制限しています。

抜粋文の後ろに「…」を表示する場合は、以下のように記述します。

functionsから文字数を制御

functions.phpから抜粋文の文字数を制御することもできます。

次のコードをfunctions.phpに記述します。

上記では、抜粋文を100文字に制限して、最後に「…」を表示します。

次に、抜粋文を表示したい位置に次のコードを記述します。

WordPress専用の関数

WordPressには文字数を制限する専用の関数も存在します。

それが、「WP_trim_words」関数です。

先程紹介したPHP関数「mb_strlen」か「WordPress関数「WP_trim_words」のどちらを使用しても大丈夫です。

「WP_trim_words」は本文の先頭から指定された文字数を取り出します。

なお、この関数が正しく動作するためには、WordPressプラグインの「WP Multibyte Patch」をインストールして、有効化しておく必要があります。

タイトルの文字数制限

タイトルの文字数を制限する場合は、以下のように記述します。

上記では文字数を20文字に制限して、最後に「…」表示させています。

本文の文字数制限

本文から200文字取り出す場合は以下のように記述します。

上記では本文から200文字取り出して、最後に「…」を追加しています。「200」は必要に応じて変えてください。

ちなみに、「200」の部分を省略すると初期設定では「110」になり、自動的に110文字を取り出します。

まとめ

WordPressサイトで文字数を制限して取り出す方法をご紹介しました。

他の部分に抜き出して一部を表示したいときなどに役立ちます。地味な方法ですが、知っておくと便利です。

是非、機会があれば使ってみてください。

*記事を書くのに、次のサイトを参考にさせて頂きました。感謝いたします。