Wordpressで「続きを読む」又は「Read more」直前に表示される文字数を変更するも反映されない件

2014年4月4日金曜日

PHPとか… WEB備忘録 Wordpressとか…

t f B! P L


Wordpressを書く際、アーカイブページでは「続きを読む」又は「Read more」と表示されている箇所があるかと思います。

何文字かテキストのみの文章があり、最後に「…」となっている例のヤツです!w

あと、

<!--more-->

を挿入した場合に同様の表示になるかと思いますが、問題はこの文字数…。

これを変更したいというときです。

これって大抵の場合、「index.php や loop.php 」に記述があります、こんな感じですね。

<?php the_content(); ?>

で、これを以下の感じで変更すると、普通は指定した文字数を抜粋して表示できるんですが…。

<?php echo mb_substr(get_the_excerpt(), 0, 200); ?>

↑この場合は200文字を抜粋して+「…」で、その後に「続きを読む」とかって感じでしょうか。

まあ、変更自体はこの様にコントロールできるという訳なのですが、問題はこの記述が効かない時があるという事です!

ばっちり文字数を指定してもページ上の表示が一向に変わらない、または動作がおかしいと言うか、指定した文字数にならないという現象です…。

この場合の原因は使っているプラグインにあります!

「WP Multibyte Patch」という日本語を扱うための強化?wプラグインがあます。

これはWPをインストールすると最初から入っているものですね。

このプラグインを有効にしている場合、こちらの指定が優先され、後からテンプレート上で文字数指定しても反映されないという現象…。

「おいおい、そんなマニアックなルール困るだろ!」

と言うことで、こちらの解決法です!w

解決法と言っても、単純にテンプレート側が駄目なのでプラグイオン側を変更するというだけなんですが!w

既にこれらの設定をされている方は、逆にこの「WP Multibyte Patch」を無効にする事で、テンプレート上の指定が反映されるようになります。

また、これから「WP Multibyte Patch」と共存させながら変更されたい場合には、管理画面の「プラグイン」より「WP Multibyte Patch」の編集をクリックします。

そうすると、

wp-multibyte-patch/wp-multibyte-patch.php の編集 (使用中)

のタイトルと共に、編集画面が表示されているかと思います。

少しスクロールさせて下に行くと以下の記述が確認できると思います。


この赤枠で囲んだ「'excerpt_mblength' => 110,」部分の110という数字が出力文字数となるので、この数字を任意の数に変更することで変更が可能となります!w

まあ、「WP Multibyte Patch」が優先して有効になることを知らなければ、延々とテンプレート側を変更することになってしまうわけで…。

文字数出力の変更でトラブル発生した方は、一度「WP Multibyte Patch」のチェックとこちらの指定変更を試してみてください!w
「公式ディレクトリ掲載テーマ」で学ぶ WordPressサイト制作入門

著:一戸 健宏

このブログを検索

Twitter