【新機能:デフォルトで表示する画像を変更できるようにしました】WordPressプラグイン「Newpost Catch」バージョンアップしました

WordPressの最新の投稿(カスタム投稿タイプも対応)にアイキャッチ画像を付けられる「Newpost Catch」プラグインのバージョンアップを行いました。

現時点でのプラグインの最新バージョンは「1.3.0」です。「Newpost Catch」プラグインはWordPress.orgの公式プラグインとして登録していますので、プラグインをご利用の方は、WordPressの管理画面にバージョンアップが可能である通知が届いていると思います。

npcver13000

お手数ですがバージョンアップ作業をよろしくお願いします。

また、今回のバージョンアップ作業の概要については以下にまとめました。ちょっとした新しい機能も付けましたので、プラグインをご利用の方は確認いただけますとうれしいです。

プラグインのコードを少し見直しました

非推奨のPHPコードの使用をやめました

将来的に削除される予定となっている「php4形式のコンストラクタ」の使用をやめました(PHP7.0では非推奨)。以下をご参考ください。

PHP 4 形式のコンストラクタ (クラス名と同じ名前のメソッドを定義するもの) が非推奨となりました。
将来的に削除される見込みです。
PHP 7 では、クラス内でこの形式のコンストラクタしか定義されていない場合に
E_DEPRECATED が発生します。__construct() メソッドを実装していれば、この警告は発生しません。

(PHP 7.0.x で推奨されなくなる機能より)

このように、PHPのバージョンアップによって非推奨となるようなPHPコードについては都度見直しを行います。これまでもたびたび行っていました。

htmlコードを変更しました

投稿一覧を表示する際の以下のhtmlコードについて、少し見直しを行いました。

  • 投稿のタイトル
  • 投稿のアイキャッチ画像
  • 投稿日(オプション)

html5+CSS3でのコーディングに対応しやすくする目的で見直しを行いましたが、今回のバージョンアップ作業期間中に確証を得られるような、納得の行くコーディング手法は見つけられませんでした(巷のhtml5について解説している専門書や有名なサイトを調べたのですが、まだまだ私の勉強不足のようです)。

htmlコードについても今後も都度見直しを行います。もし何かお気づきの点やヒントなどがありましたら、お知らせいただけますと大変助かります。よろしくお願いします。

とは言え今回行ったhtmlコードの見直しによって、CSS3でのコーディングの難易度はある程度低くなるのではないか、と考えています(要望があれば、また別の機会に解説ができればいいなと思っています)。

新機能:デフォルトで表示する画像を変更できるようにしました

WordPressではプラグインファイルを直接変更することなく、プラグインを使って取得・表示できる様々な情報をお好みに変更することができる「フィルターフック」というものがあります。

今回のバージョンアップでは、そのフィルターフックを使って「デフォルトで表示する画像を変更」できるようにしました。

デフォルトで表示する画像は、以下の条件に当てはまる場合に表示されます。

1つの投稿に対してアイキャッチ画像が設定されていない場合 & 投稿の本文中に1枚も画像がない場合

デフォルトで表示する画像はこれ

デフォルトで表示する「no image」と文字が書かれた画像はプラグインフォルダに同梱されています。

npcver13001

画像は変更できたほうがいいと思ったんです

・・・この画像ですが「投稿についての画像がない」ことを「no image」という文字で表現しています。プラグインを作った当時(約4年前)はこれでよかったと思っていたはずですが「別に画像がないからって、no imageと文字が書かれた画像を閲覧している方に見せる必要はないよね」という考え方もできます。

「そうだ、この画像は自由に変えられたほうがいいよね!」と思うようになりました(要望もけっこうありました)。これがフックを使えるように機能追加をした理由です。

さっそく画像を変更してみよう

というわけで、デフォルトで表示する画像を変更するフィルターフックのサンプルコードです。このコードをfunctions.phpファイルの最後尾などに追記します。

//デフォルトで表示する画像のURLを変更する
add_filter( 'npc_thumb','custom_default_thumbnail', 10 ,3 );
function custom_default_thumbnail(){
 $thumb = get_template_directory_uri() . '/images/default.png';
 return $thumb;
}

コードがやっていること

「Newpost Catch」プラグイン専用のフック「npc_thumb」を使って、デフォルトで表示する画像のURLを指定しています。

画像のURLは「使用中のテーマフォルダ/images/フォルダ配下」にある「default.png」という画像ファイルを表示するように指定しています。

画像ファイルまでのURLは、ご使用の環境に合わせて変更下さい。

プラグイン専用のフィルターです

「npc_thumb」は「Newpost Catch」プラグイン専用のフィルターですので「Newpost Catch」プラグインをアンインストールしたり無効にした状態ではこのフィルターは使えませんのでご注意ください。

まとめ

今回行ったバージョンアップ作業の概要について書きました。フィルターフックを使ったカスタマイズ方法は少し難易度が高いと感じる方もいると思いますが、使えるようになるととても便利なものです。覚えて損はない技術だと思いますので、少しずつでもいいので機会がありましたら挑戦おすすめいたします。

また、このページで初めて「Newpost Catch」プラグインについて知った方・興味を持たれた方は、専用ページに使い方を一通りまとめていますので、是非ともプラグインを活用いただけますとうれしいです。

「Newpost Catch」プラグイン専用Facebookページがあります

WordPressプラグイン「Newpost Catch」の活用事例や更新情報などを配信しています。情報を受け取る場合は「いいね!」でフォローくださいますよう、よろしくお願いします。

「Newpost Catch」プラグイン専用ページはこちら

著者:bouya Imamura