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);

関連記事