Category: Works , WordPress , Plugins
Works

welcart:カートのサムネイルサイズを変更する

welcart:カートのサムネイルサイズを変更する
  • twitter
  • facebook
  • はてな
  • line

welcartで商品をカートに入れた時に表示されるサムネイルはwordpressの「thumbnail」という画像サイズが使用されます。

問題なければこれでいいんですが、通常ですとthumbnailは正方形にトリミングされてますよね。

商品画像的にはトリミングさせたくないようなものもあると思うので、このサイズを変更する方法を書いていこうと思います。

通常の場合

wordrepssデフォルト設定のままでカートに入れた状態をみるとこのようになります。

商品ページでは商品の全体が見えているのに

カートのサムネイルサイズを変更する

カートではトリミングされているので両端がカットされている。

カートのサムネイルサイズを変更する

これはどのように出力しているかというとプラグインファイルのtemplate_func.phpにかかれています。

//関数 usces_get_cart_rows
$cart_thumbnail = '<a href="' . get_permalink($post_id) . '">' . wp_get_attachment_image( $pictid, array(60, 60), true ) . '</a>';

array(60, 60)とサイズを指定してますね。

なのでトリミングされたものが表示されます。

thumbnailのトリミングをやめてしまえばそれでOKなんですが、ここではthumbnailのトリミングは保持したままでこの部分のサイズを変更していきます。

フィルター usces_filter_cart_thumbnail

で、その部分を書き換えるためにwelcartではusces_filter_cart_thumbnailというフィルターが用意されています。

書いてる場所はtemplate_func.php出力タグの真下です。

//関数 usces_get_cart_rows
$row .= apply_filters('usces_filter_cart_thumbnail', $cart_thumbnail, $post_id, $pictid, $i,$cart_row);

なのでこれを使って書き換えてやります。

change_cart_thumbnail

テーマのfunctions.phpに独自関数change_cart_thumbnailを作り、usces_filter_cart_thumbnailで返します。

function change_cart_thumbnail( $cart_thumbnail, $post_id, $pictid, $i, $cart_row ) {
    $html = '<a href="' . get_permalink($post_id) . '">' . wp_get_attachment_image( $pictid, 'medium', false ) . '</a>';
	return $html;
}
add_filter( 'usces_filter_cart_thumbnail', 'change_cart_thumbnail', 10, 5 );

add_filterの最後の5という数字は引数が5つあるという意味です。

今回は$post_id$pictidしか使わないのでそこまでの3つでいいんですが、一応設定されてるもの全部設定してみました。

サイズはmediumにしてます。

結果、こうなりました。

カートのサムネイルサイズを変更する

サイズが大きい場合は画像サイズを変更したり別途追加したりするか、CSSで調整してやればいいと思います。

ちなみにこの部分はカートの他、購入履歴部分にも適用されます。

カートのサムネイルサイズを変更する

おもしろかった・役に立った
  • twitter
  • facebook
  • はてな
  • line
▼ブログランキング参加中!クリック!▼
  • ブログランキング・にほんブログ村へ

Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください