【WordPress】タイトル・本文・抜粋の文字数を制限する方法

WordPressの投稿やページで、タイトル、本文、抜粋の文字数を制限することは、見た目の整ったコンテンツを維持するために重要です。ここでは、これらの要素の文字数を制限する方法を紹介します。

タイトルの文字数制限

WordPressのデフォルトでは、タイトルの文字数に制限が設けられていません。しかし、カスタムコードを追加することで、タイトルの表示文字数を制限することができます。以下の手順で、タイトルの最大文字数を設定する方法を見てみましょう。

// タイトルの最大文字数を制限する
function limit_title_length($title) {
    $max_length = 50; // 最大文字数を設定
    if (mb_strlen($title) > $max_length) {
        $title = mb_substr($title, 0, $max_length) . '...';
    }
    return $title;
}
add_filter('the_title', 'limit_title_length');

このコードでは、タイトルが50文字を超えた場合に「…」を追加して切り捨てます。

本文の文字数制限

投稿やページの本文が長すぎると、表示が乱れることがあります。以下のコードをfunctions.phpに追加することで、本文の最大文字数を制限できます。

// 本文の最大文字数を制限する
function limit_content_length($content) {
    $max_length = 100; // 最大文字数を設定
    if (mb_strlen($content) > $max_length) {
        $content = mb_substr($content, 0, $max_length) . '...';
    }
    return $content;
}
add_filter('the_content', 'limit_content_length');

このコードは、本文が100文字を超えた場合に「…」を追加して切り捨てます。

抜粋(エクササイズ)の文字数制限

抜粋の文字数は、検索結果やアーカイブページでの表示に影響します。以下のコードをfunctions.phpに追加することで、抜粋の最大文字数を設定できます。

// 抜粋の最大文字数を制限する
function custom_excerpt_length($length) {
    return 20; // 抜粋の最大文字数を設定
}
add_filter('excerpt_length', 'custom_excerpt_length');

また、抜粋の末尾に「…」を追加するには、以下のコードも追加します。

// 抜粋の末尾に「...」を追加する
function custom_excerpt_more($more) {
    return '...';
}
add_filter('excerpt_more', 'custom_excerpt_more');

テーマやプラグインでの設定

一部のテーマやプラグインでは、設定画面からタイトル、本文、抜粋の文字数制限を行うことができます。テーマのカスタマイザーやプラグインの設定ページを確認し、適切な設定が可能かどうか確認してみましょう。

まとめ

WordPressでタイトル、本文、抜粋の文字数を制限することで、コンテンツの見栄えを良くし、サイト全体の整合性を保つことができます。カスタムコードを使ってこれらの制限を設定する方法を試してみてください。