welcartのテーマを自作する場合、プラグイン内のwc_templatesフォルダを自作テーマ内にコピーしてカスタマイズする。
usc-e-shop > theme > welcart_default > wc_templates
関連商品の表示に関しては、商品マスターにて個々の商品のタグに関連させたい商品コードをタグとして登録する必要がある。(数が多いと大変なのであまり実用的ではない)
試しにタグ付けして表示させてみるとエラーが出る
Warning: call_user_func_array() expects…
このエラーの解決方法は、welcart_defaultフォルダ内のfunctions.phpから118~148行目あたり「excerpt」とある中の、いくつかのタグを自作テーマのfunctions.phpへコピーすると解決する。
関連商品の表示についてカスタマイズコードを見つけたので以下に保存
※抜粋文を削除して、「商品画像・商品名・価格・在庫状態」を表示する。
functions.phpに記述
//Welcartの関連商品から抜粋文の削除・在庫数の表示(HTMLの整形)
add_filter('usces_filter_assistance_item_list', 'my_format_assistance_item_list',10,2);
function my_format_assistance_item_list($list, $post) {
$str = '<li>';
$str .= '<div class="listbox clearfix">';
$str .= '<div class="slit">';
$str .= '<a href="'. get_permalink() . '" rel="bookmark" title="' . wp_filter_nohtml_kses(get_the_title()) . '">' . usces_the_itemImage(0, $width, $height, $post, 'return') . '</a>'; //商品画像のHTML
$str .= '</div>';
$str .= '<div class="detail">';
$str .= '<div class="assist_excerpt">';
$str .= '<a href="'. get_permalink() . '" rel="bookmark" title="' . wp_filter_nohtml_kses(get_the_title()) . '"><h4>' . usces_the_itemName('return') . '</h4></a>'; //商品名のHTML
// $str .= get_the_excerpt(); //説明文の抜粋
$str .= '</div>';
if (usces_is_skus()) {
$str .= '<div class="assist_price">';
$str .= '¥' . number_format(usces_the_firstPrice('return')); //商品価格のHTML
$str .= '</div>';
$str .= '<div class="assist_zaiko">';
$str .= '在庫状態: [<span class="zaiko">' . usces_the_itemZaikoStatus('return') . '</span>]'; //商品の在庫状態のHTML
$str .= '</div>';
}
$str .= '</div>'; // .assist_excerptここまで
$str .= '</div>'; // .detailここまで
$str .= '</li>';
return $str;
}
商品画像のサイズを変更する
//関連商品画像の横幅を変える
function assistance_item_width( $width ) {
$width = 100; //この数値を変えると横幅変更
return $width;
}
add_filter( 'usces_filter_assistance_item_width', 'assistance_item_width' );
//関連商品画像の縦幅を変える
function assistance_item_height( $height ) {
$height = 100; //この数値を変えると縦幅変更
return $height;
}
add_filter( 'usces_filter_assistance_item_height', 'assistance_item_height' );