このブログでやったカスタマイズ

このブログは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を入れてしまった。