Instagram for WordPressが重いから勝手にカスタマイズしてみた

Twitter ツイート Hatena Bookmark ブックマーク

ニートのときに書いた旅行の記事を読もうとしたらレスポンスに20秒近くかかっていました。
原因を探る為に調べていたら、どうやら「Instagram for WordPress」のプラグインが足を引っ張っていたようです。

んで、コードをみてみるとなんと画像1回1回ご丁寧にphp側でinstagramのAPIと通信しているじゃございませんか・・・

まあaltタグ入れたいから何だろうけど、なんかすごく微妙だし、僕のブログではaltタグとか重要じゃないし・・・ってことで勝手にカスタマイズしてみようと思った訳です。
ということでinstagram_embed_shortcode関数を以下のように修正しましょう。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function instagram_embed_shortcode($atts, $content = null){
  extract(shortcode_atts(array(
    'url' => '',
    'size' => 'middle',
    'addlink' => 'yes',
    'alt' => null,
  ), $atts));
  switch($size) {
    case 'large':
      $_size = 'l';
      $maxwidth = 612;
      break;
    case 'small':
      $_size = 't';
      $maxwidth = 150;
      break;
    case 'middle':
    default:
      $_size = 'm';
      $maxwidth = 306;
      break;
  }

  $url .='/media/?size='.$_size;
  $html = "<img src='$url' width='$maxwidth' height='$maxwidth' alt='$alt'>";
  return $html;
}

これでレスポンスタイムが20sから300msへ!!爆速になりましたw
ちなみにurl,size以外の引数としてaltも用意したので必要な方は使ってください。

comments powered by Disqus
Built with Hugo
テーマ StackJimmy によって設計されています。