WordPressテーマ「tanzaku」の画像サイズを調整するPHP


WordPressテーマ「tanzaku」の画像サイズを調整するJS

昨日は、画像の比率を調整するためのJSスクリプトを書きました。

今回は詳細ページにMedium 640を貼った画像をトップページや検索ページでそのまま表示すると画像サイズも大きいため、読み込みに多少時間がかかってしまいます。そのため、サムネイル用のSmall 320を表示するように画像のURLを置換するPHPコードを書いてみました。

function replace_flickr_image_size($img, $size='n') {
    $pattern = "/(farm[0-9]+\.staticflickr\.com\/.*_)(m|z|c|l|o)\.(jpg|gif|png)/";
    $replace = "$1$size.$3";
    $img = preg_replace($pattern, $replace, $img);
    return $img;
}

あとは、これを101行目付近で生成しているグリッド用画像のURLを置換します。

101
102
103
104
105
106
107
108
109
110
// check image link
//$chk_imglink = '/(<a (?:.+?)rel="(?:lightbox[^"]*?)"(?:[^>]*?)>)'. preg_quote($matches2[0], '/') .'/';
$chk_imglink = '/(</a><a (?:.+?)href="(?:.+?\.(?:jpe?g|png|gif))"(?:[^>]*?)>)'. preg_quote($matches2[0], '/') .'/';
if ($flg_img_forcelink) {
    $grid_img = '</a><a href="'. get_permalink() .'" title="' . esc_attr($post->post_title) . '">' . $grid_img . '</a>';
}   
else if ( preg_match($chk_imglink, $content, $matches3) ) { 
    $grid_img = $matches3[1] . $grid_img . '';
}   
$grid_img = replace_flickr_image_size($grid_img);

2012-05-15 01:52:10 · Tatsuya Fukata · 3 Comments
Tags:  · Posted in: PG, PHP, WordPress

  • Fuminobu Nakamura

    tanzakuを調べていてこの記事を拝見させていただいています。
    もしよろしければ教えて欲しいのですが、

    function replace_flickr_image_size($img, $size=’n') {
    $pattern = “/(farm[0-9]+.staticflickr.com/.*_)(m|z|c|l|o).(jpg|gif|png)/”;
    $replace = “$1$size.$3″;
    $img = preg_replace($pattern, $replace, $img);
    return $img;
    }

    はfunction.phpに追記しればいいのでしょうか?
    また101行目付近で生成しているグリッド用画像のURLというのが分かりません、、、。
    本当に初心者な質問で申し訳ないのですが、
    教えて頂けるとありがたいです。

    • http://fukata.org/ Tatsuya Fukata

      はい、function.phpに書けばテンプレートファイル内から呼ぶことが出来ると思うので、そこで大丈夫だと思います。

      > 101行目付近で生成しているグリッド用画像のURLというのが分かりません

      具体的に何が分からないのでしょうか?

      • Fuminobu Nakamura

        function.phpに書き込んで出来ました!ありがとうございます!