WordPressメモ アイキャッチを自動で生成してくれるプラグイン”Auto Post Thumbnail”のスクリプトを修正してYoutubeのアイキャッチも自動生成してくれるようにしてみる

WordPress

Auto Post Thumbnailってプラグインで記事のアイキャッチを自動で生成できるようになった(記事はここ)。
でも、そのままではYoutubeの動画のアイキャッチは自動では生成してくれない。

ネットに聞いてみると、このプラグインのフォーラム(ページはここ)に、記事に他の画像がないこと限定?だけどYoutubeでもアイキャッチを自動生成するようにスクリプトを編集する方法があったので試してみることに。
※ファイルの内容を編集するんだけど、あくまで自己責任でお願いします。

スクリプトの編集はこんな感じ。

  1. WordPressの管理画面を開く。
  2. ページの左側にあるメニューで”プラグイン”の”インストール済みプラグイン”をクリックする。
    20063_01
  3. “プラグイン"ってページが表示されるので、"Auto Post Thumbnail"を探して"編集"のリンクをクリックする。
    20063_02
  4. “プラグイン編集"ってページが表示されるので、ページの右上あたりにある"プラグインファイル"って項目の"auto-post-thumbnail/auto-post-thumbnail.php"ってリンクをクリックする。
    20063_03
  5. “auto-post-thumbnail/auto-post-thumbnail.php"ってファイルのスクリプトがページの真ん中に表示されるので、次のように書いてある部分を検索する。
    /**
     * Function to save first image in post as post thumbmail.
     */
    function apt_publish_post($post_id)

    ※要するに"apt_publish_post"っていうメソッドを検索する(文字列で検索する場合は"function apt_publish_post"だと一発?)。
    20063_04

  6. “apt_publish_post"っていうメソッドの中に書いてある次の部分を探す。
    // Get all images from post's body
    preg_match_all('/<\s*img [^\>]*src\s*=\s*[\""\']?([^\""\'>]*)/i', $post[0]->post_content, $matches);

    20063_08

  7. そのすぐ後に次のコードを追加する。
    if (empty($matches[0])) {
    	preg_match('%(?:youtube\.com/(?:user/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $post[0]->post_content, $match);
    	if (!empty($match[1])) {
    		$matches=array(); $matches[0]=$matches[1]=array('http://i3.ytimg.com/vi/'.$match[1].'/hqdefault.jpg');
    	}
    }

    20063_05

  8. ページの下の方にある"ファイルを保存"ボタンをクリックして、スクリプトを保存する。

確認してみるとこんな感じ。

こんなんが…

 

20063_06

こんなんに。

20063_07

まま、メモってことで。