「機能: WordPress Paid Memberships Proの詳細設定 | GNU social JP」でPMProの詳細設定をした際に、ペイウォールを実現する抜粋の設定を行いました。
投稿制限をかけて、この抜粋がどうなるかを確認したところ、投稿のほとんどの内容が表示されてしまっていました。そこで、抜粋文字数を調整したので方法を記します。
まず、WordPressの抜粋 (excerpt) は英単語が想定されており、デフォルトでは先頭55単語となっています (What is an excerpt? (Classic Editor) – WordPress.org Documentation)。文字数ではなく単語数となっているが大きな点です。単語数なので、空白で区切られた文字が単語とみなされます。日本語のように単語で区切らない場合、1単語が非常に長くみなされます。
この問題に対応するために、「WP Multibyte Patch – EastCoder;」というプラグインがあります。が、私の環境 (WordPress v6.2) ではうまく機能しなかったようです。しかたないので、デフォルトの単語数を減らすことで暫定対応します。
以下のコードを wp-content/themes/使用テーマ/functions.php に追加します。
function new_excerpt_length($length) {
return 20;
}
add_filter('excerpt_length', 'new_excerpt_length');
55単語は多すぎるので、20単語に減らしました。改行なども空白とみなされるようなので、最大でも20行になります。確認したところ、許容できる長さになったので、ひとまずこれでよしとします。不都合があれば、文字数を調整します。
また問題があったときや、時間をとれたらきっちり対応したいと思います。
詳細プロフィール。SNS: X Twitter/GS=gnusocialjp@gnusocial.jp/WP=gnusocialjp@web.gnusocial.jp。2022-07-17からgnusocial.jpとweb.gnusocial.jpのサイトを運営しています。WordPressで分散SNSに参加しています。このアカウントの投稿に返信すると、サイトのコメント欄にも反映されます。
Comments