WordPressでサイトをリニューアルし終わったタイミングで、クライアントから
「このトップページに表示されるブログなんですけど、全文じゃなくて最初のほうだけ載せられないですかね?ほら、よくあるじゃないですか、2行ぐらい読ませて後は「…続きはこちら」みたいな。あんな感じで」
という要望をいただく。
むぅ。困った。
ホームページビルダーのテンプレートでは、複数のブログを設置できますが、postタイプとそれ以外のnewsタイプやproductタイプなどがあって、デフォルトの設定が大きく分けて2つあります。
「要約」を表示させることができるタイプと、「要約」表示の設定が無いタイプです。
postタイプ以外は、管理画面でブログの本文を入力する欄の下に「要約」入力用の欄があり、要約を表示させる場合はここも文章を入力します。すると、一覧を表示させるページにはこの要約部分だけが表示されるという仕様です。
そう、先述のブログをこのタイプで設置しておけば、この「要約」の使い方を説明するだけでセーフだった。
が、残念なことに今回設置したのは、その要約の設定のないpostタイプ…。
いや、いずれにしても、今回の案件ではクライアント自身が今後の更新作業を行うというのが前提条件。たとえ「要約」欄を使ってもらうにしても、「…続きはこちら」のような本文へのリンクはhtmlで手動で書かなければならないので、素人にとって親切ではない。
早速プラグインを探したものの、インストールして有効化すればOK♪のようなお手軽なものはなさそうだ。
結局以下の方法で解決。
【テンプレートのPHPファイル内の記述を変更】
本文を表示させるソースは「the_content」であるということで、これを「the_excerpt」に変更。今回省略表示させたいのがトップページだったので、「front-page.php」内の
the_content();
の部分を
the_excerpt(__('more')) としました。
これで省略表示の文末に[…]と表示されて、省略されていることがわかる様になりました。
さらに、その部分を(…続きを読む)に変更して、本文にリンクさせます。
【functions.phpに設定を追加】
function new_excerpt_more($post) {
return '' . '...続きを読む' . '';
}
add_filter('excerpt_more', 'new_excerpt_more');
また、省略後の文字数の変更も可能
【WP Multibyte Patch】
もともとインストールされているプラグイン「WP Multibyte Patch」を有効化する。
(どうやら和文の2バイト文字の特性とプログラムの整合をとるのに必要らしい)
wp-multibyte-patch.php内の
'excerpt_mblength' => 110, ←この数字を変更する。
- - - - - - - - - -
今回参考にさせていただいたのはこちらのブログでした。
ありがとうございました!
http://avact.info/2013/11/28/wordpress-%E3%83%88%E3%83%83%E3%83%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AA%E3%81%A9%E4%B8%80%E8%A6%A7%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%A8%98%E4%BA%8B%E3%82%92%E7%9C%81%E7%95%A5%E3%81%99%E3%82%8B/
「このトップページに表示されるブログなんですけど、全文じゃなくて最初のほうだけ載せられないですかね?ほら、よくあるじゃないですか、2行ぐらい読ませて後は「…続きはこちら」みたいな。あんな感じで」
という要望をいただく。
むぅ。困った。
ホームページビルダーのテンプレートでは、複数のブログを設置できますが、postタイプとそれ以外のnewsタイプやproductタイプなどがあって、デフォルトの設定が大きく分けて2つあります。
「要約」を表示させることができるタイプと、「要約」表示の設定が無いタイプです。
postタイプ以外は、管理画面でブログの本文を入力する欄の下に「要約」入力用の欄があり、要約を表示させる場合はここも文章を入力します。すると、一覧を表示させるページにはこの要約部分だけが表示されるという仕様です。
そう、先述のブログをこのタイプで設置しておけば、この「要約」の使い方を説明するだけでセーフだった。
が、残念なことに今回設置したのは、その要約の設定のないpostタイプ…。
いや、いずれにしても、今回の案件ではクライアント自身が今後の更新作業を行うというのが前提条件。たとえ「要約」欄を使ってもらうにしても、「…続きはこちら」のような本文へのリンクはhtmlで手動で書かなければならないので、素人にとって親切ではない。
早速プラグインを探したものの、インストールして有効化すればOK♪のようなお手軽なものはなさそうだ。
結局以下の方法で解決。
【テンプレートのPHPファイル内の記述を変更】
本文を表示させるソースは「the_content」であるということで、これを「the_excerpt」に変更。今回省略表示させたいのがトップページだったので、「front-page.php」内の
the_content();
の部分を
the_excerpt(__('more')) としました。
これで省略表示の文末に[…]と表示されて、省略されていることがわかる様になりました。
さらに、その部分を(…続きを読む)に変更して、本文にリンクさせます。
【functions.phpに設定を追加】
function new_excerpt_more($post) {
return '' . '...続きを読む' . '';
}
add_filter('excerpt_more', 'new_excerpt_more');
また、省略後の文字数の変更も可能
【WP Multibyte Patch】
もともとインストールされているプラグイン「WP Multibyte Patch」を有効化する。
(どうやら和文の2バイト文字の特性とプログラムの整合をとるのに必要らしい)
wp-multibyte-patch.php内の
'excerpt_mblength' => 110, ←この数字を変更する。
- - - - - - - - - -
今回参考にさせていただいたのはこちらのブログでした。
ありがとうございました!
http://avact.info/2013/11/28/wordpress-%E3%83%88%E3%83%83%E3%83%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AA%E3%81%A9%E4%B8%80%E8%A6%A7%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%A8%98%E4%BA%8B%E3%82%92%E7%9C%81%E7%95%A5%E3%81%99%E3%82%8B/