WordpressのEvermoreプラグインを修正して、抜粋を上手くトップページに表示する
Wordpressでは、トップページやアーカイブページなど、記事一覧のページがありますが、そのままでは本文が全て表示されてしまいます。一覧ページの件数が多いとページが長くなってしまうので、抜粋を利用して、表示をすっきりさせることができます。
テンプレートを直接編集して抜粋を表示する方法もありますが、Evermoreというプラグインが便利そうだったので試してみました。
参考ページ
トップページやカテゴリを抜粋表示にする方法 – WordPressのプラグイン | Evermoreの使い方 | SEOテンプレート比較
Evermoreのインストールと設定
管理ページからプラグインの追加ができませんでしたので、プラグインページからサイト上のプラグインディレクトリの中にダウンロード&解凍で設置しました。 プラグインのページ:Evermore$ cd (WordPressの設置フォルダ)/wp-content/plugins
$ wget "http://downloads.wordpress.org/plugin/evermore.2.3.zip"
$ unzip evermore.2.3.zip
インストール後にプラグインを有効にすると、管理メニューに「設定 -> Evermore」が表示されます。こちらのページからプラグインの設定ができるようになります。しかし、どうやら日本語に対応しておらず、文字数の設定だけが有効なようです。
また一覧ページでは、一応表示されるのですが、利用しているタブが全てstripされてしまうようです。
これでは表示の文字が短くなっただけで、見た目はあまり整った感じにはなりません。やはり抜粋をきちんと設定して、それを表示できるようにしたいと思いしたので、プラグインを編集してみました。
Evermoreの修正
修正箇所はevermore.phpのtguy_em_addmoreallという関数です。60行目過ぎにあります。function tguy_em_addmoreall($posts) {
/* Add a "more" link immediately after reading posts from the database. */
$count = count($posts);
for ($i = 0; $i < $count; ++$i) {
if (empty($posts[$i]->excerpt)) { // 追加
// 元からある行
$posts[$i]->post_content = tguy_em_addmore($posts[$i]->post_content);
} else { // 追加
$posts[$i]->post_content = $posts[$i]->excerpt; // 追加
} // 追加
}
return $posts;
}
一覧ページの投稿記事に対して、抜粋が設定されていたら、そちらをそのまま表示します。抜粋がなければ、evermoreの元の処理に委ねます。
これで上手く抜粋が表示されるようになりました。
ただ…プラグインを修正するんだったら、テーマ編集した方が楽だよなぁと、自分でも思いました…。