このブログはWordpressを使用していますが、カスタマイズの記録をローカルに書き散らしていてもどこに書いたかさえ忘れてしまうので、ここにメモを残しておきます。
使用テーマ
Coherent
使用言語
日本語にすると望まないローカライズをされてしまうので、Englishにした。ダッシュボードも全部英語。まぁなんとかなる。
ヘッダー画像挿入
Appearance –> Customize –> Header Imageから。このテーマの場合、2000 × 1500 px固定が推奨。
導入したプラグイン(2016年7月時点)
- SiteGuard WP Plugin
- Meta Tag Manager
- WP-PostViews
- WP Maintenance Mode
- SyntaxHighlighter
- Unite Gallery Lite
- WordPress Related Posts
- Custom Posts Per Page
最後のCustom Posts Per Pageはトップ画面やカテゴリ・タグ一覧画面などで表示する件数を好みで設定するが、メインインデックスの設定はWPの投稿設定を上書きするので注意。トップページに指定したい件数はWordpressの設定ではなく、このプラグイン側で指定する。
トップ画面他一覧ページに記事内の最初の画像をサムネイルとして表示する
諸事情によりアイキャッチ画像はセットしていないので、投稿内の最初の画像を取得する関数を定義する。function.phpに以下追記。
function catch_that_image() { global $post, $posts; $first_img = ''; $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); $first_img = $matches [1] [0]; if(empty($first_img)){ //Defines a default image $first_img = "/path/to/default_img.jpg"; } return $first_img; }
cotent.phpで、以下のように2行目のコードを記述する。class名はテーマによって変わるはずだが、やることはどれでも一緒。表示画像のサイズを変更するため、画像タグを指定している。CSSばっちりな人はそっちでちゃんとやった方がいいんだろうけど。もともとここには抜粋文を呼び出す関数 the_excerpt()が記述されていたが、もう画像だけでいいやと思って削除した。
<div class="entry-content"> <img src="<?php echo catch_that_image(); ?>" width="300" alt="<?php the_title(); ?>"> </div><!-- .entry-content -->
追記
画像にもパーマリンク埋め込んだ方がいいよなぁやはり、と思い、以下のようにした。
<div class="entry-content"> <a href="<?php the_permalink(); ?>"><img src="<?php echo catch_that_image(); ?>" width="300" alt="<?php the_title(); ?>"></a> </div><!-- .entry-content -->
追記2
タグ、カテゴリ、アーカイブが検索エンジンにインデックスされないように、header.phpに以下追記。(参考:WordPressでタグページだけを「noindex」にする方法(プラグインなし))
<head> : : <?php if(is_tag() || is_category() || is_month()): ?> <meta name="robots" content="noindex,follow" /> <?php endif; ?> </head>
これを設定するためにAll in One SEO Packを入れる方法が紹介される例が多いようだけど、このためだけに入れるのも嫌だしなぁ…と思った。シンプルに実現できるならそれに越したことはない。
追記
Googleのインデックス状況があまりにアレなので、結局 All in One SEO Packを入れてしまった。