WordPress(WP)

WP(WordPress)

【WordPress】記事の抜粋機能を改良(文字数の変更など)

the_excerpt()関数について

記事本文の抜粋を表示させる場合には、
the_excerpt()
を使います。

基本的な使い方は、こんな感じですね。

<?php if(have_posts()): ?>
<?php while(have_posts()): the_post();?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?><a></h2>
<?php the_excerpt(); ?>


<?php endwhile; ?>
<?php endif; ?>

get_the_content()でいったん記事本文を取得してから、
PHPの関数で特定の文字数に丸めて出力してもいいのですが、
それだと面倒なんでthe_excerpt()を使った方が簡単です。

ただ、the_excerpt()で記事抜粋を出力する場合、
デフォルトでは以下の様な仕様になっています。
・出力される文字数は110文字
・末尾に「...」が付与される

これだと110文字と固定されており、末尾にも余計なものが付いていたりと、
不便なこともあります。

そこで、これらの設定を変更する方法を紹介します。

 

デフォルトの110文字を変更する方法

文字数の変更は、
functions.phpに以下のコードを追加するだけです。

function excerpt_length_alter($length){
return 200;
}
add_filter("excerpt_mblength", "excerpt_length_alter");

これにより、出力する文字数が200文字に変更されます。
※各サイトに合わせて、文字数を変更してください。

 

末尾の「...」を削除する方法

抜粋末尾の「...」を削除する方法も簡単です。

functions.phpに以下のコードを追加するだけです。

function excerpt_more_alter($more){
return "";
}
add_filter("excerpt_more", "excerpt_more_alter");

これで、「...」が表示されなくなります。

 

末尾の文字を「...」以外に変更する方法

末尾の文字を、例えば「続きを読む」に変更する場合には、
functions.phpに以下のコードを追加するだけです。

function excerpt_more_alter($more){
return " 続きを読む";
}
add_filter("excerpt_more", "excerpt_more_alter");

これでOKです!

 

PHP mb_strimwidth()関数を使った変更方法

以前、PHPのmb_strimwidth()関数を使って、
このような書き方をされている方もいました。

function the_excerpt_alter($ontent){
return mb_strimwidth($ontent, 0, 200, " 続きを読む", "UTF-8");
}
add_filter("the_excerpt", "the_excerpt_alter");

mb_strimwidth()関数は便利な関数ですし、これでも近いことは出来ますね。

ただ、PHPのmb_strimwidth()関数は使い方に注意して下さい。

全角文字は1文字で2文字分にカウントされます。
また、「 続きを読む」という文字列も含めて、200文字に丸められます。

その点も含めてコードを書く必要があります。

 

抜粋とは

最後に、「抜粋」について簡単に説明しておきます。

抜粋」とは、記事の概要のようなものです。

WordPressの投稿画面には「抜粋」という項目があるので、
そちらに入力したテキストが「抜粋」として扱われます。
WPの抜粋機能(要約)
※もし「抜粋」の項目が画面にない場合には、画面上の「表示オプション」から表示設定して下さい。

ただ、毎回「抜粋」を入力するのは面倒です。
恐らく、ほとんどの方が入力されていません。

その場合には、記事本文から指定の文字数だけテキストを抜粋してくるので、問題ないです。

WordPress短期学習プログラム

関連記事

  1. WP Multibyte Patch

    WP(WordPress)

    WP Multibyte Patch

    プラグイン「WP Multibyte Patch」とは今回は「…

  2. バージョンアップ

    WP(WordPress)

    WordPress 5.0 'Bebo'

    WordPress5.0へバージョンアップWordPr…

  3. 360°パノラマ

    WP(WordPress)

    WPのプラグイン「iPanorama 360」で360°パノラマ写真を公開

    360°パノラマ写真(全天球画像)の埋め込みを行えるWordPress…

  4. Security(セキュリティ)

    WP(WordPress)

    【WordPress】アクセス制限を掛けておくべきファイルのまとめ

    WordPressのアクセス制限を掛けておくべきファイルをまと…

  5. WP:WordPress(ワードプレス)

    WP(WordPress)

    Nginx+WordPressでブログを運営

    WordPressブログを構築本日は、WordPressを…

  6. WP:WordPress(ワードプレス)

    WP(WordPress)

    WordPress「Images importer from URL」とかいうプラグイン

    もう何年も前にMTで組まれたブログをWordPressで組み直したいと…

最近の記事

  1. Technology-Connection-Net
  2. ドメインにハイフンを使うのは日本人だけ?
  3. SSL(HTTPS)
  4. ドメインについて
  5. WP:WordPress(ワードプレス)
  6. ドメイン(domain)
  7. JPドメイン
  8. 高速(スピード)
  9. ブログアクセス
  10. 高速(スピード)
PAGE TOP