お問い合わせはコチラから

Welcart ベストセラーウィジェットの表示をカスタマイズする

サイト運営

Welcartを使ったサイトで商品ランキングを表示することになりました。

テーマはWelcart Basicを使っています。

商品ランキングは、Welcartにあるベストセラーウィジェットを使えば表示できそうです。

表示のカスタマイズをするときにトラブったのでメモしておきます。

Welcart Basicは『usces_widget_bestseller_auto_text』が効かない

usces_widget_bestseller_auto_textでカスタマイズすればいいよ、という記事を見かけたのですが、いくらフックを書いても全く反映されませんでした。

Welcart Basicのテーマを調べて見ると、すでにフックが使われており上書きされていました。

add_filter( 'usces_filter_bestseller', 'welcart_basic_filter_bestseller', 10, 3 );

ということなので、Welcart Basicを使う場合は、usces_filter_bestsellerでカスタマイズする必要があります。

usces_filter_bestsellerがremove_filterできない

Welcart Basicで設定されているusces_filter_bestsellerをremove_filterしようとしましたが、うまくremoveできませんでした。

親テーマで定義されているフックを子テーマからremove_filterする場合は、別途作法がありました。

function parent_hook_remove_filter(){
remove_filter( 'usces_filter_bestseller', 'welcart_basic_filter_bestseller', 10 );
}
add_action('after_setup_theme','parent_hook_remove_filter');

子テーマでwelcart_basic_filter_bestseller関数をカスタマイズ

Welcart Basicにあるwelcart_basic_filter_bestseller関数をそのままコピーして名前を変えて、中身をカスタマイズすれば、いかようにもカスタマイズできます。

<?php
/***********************************************************
* Explanation : bestseller
***********************************************************/
function _welcart_basic_filter_bestseller( $list, $post_id, $i ) {
	global $usces;
	$post = get_post( $post_id );
	$list  = '<li>'."\n";
	$list .= '<div class="itemimg"><a href="'.get_permalink($post_id).'">'.usces_the_itemImage( 0, 192, 192, $post, 'return' ).'</a></div>'."\n";
	$list .= '<div class="itemname"><a href="'.get_permalink($post_id).'">'.get_the_title($post_id).'</a></div>'."\n";
	if( usces_have_zaiko_anyone( $post_id ) ) {
		$list .= '<div class="itemprice">' . usces_the_firstPriceCr( 'return', $post ) . usces_guid_tax('return') . '</div>'."\n";
		$list .= usces_crform_itemPriceCr_taxincluded( $post_id );
	} else {
		$skus = $usces->get_skus( $post_id );
		$num = $skus[0]['stock'];
		$list .= '<div class="itemsoldout">'.$usces->zaiko_status[$num].'</div>'."\n";
	}
	$list .= '</li>'."\n";

	return $list;
}
add_filter( 'usces_filter_bestseller', '_welcart_basic_filter_bestseller', 10, 3 );

まとめ

Welcart BasicはWelcartプラグインのフックを使っていることがあるので、Welcartプラグインのフックが上手く動かないことがあります。

その場合は、Welcart Basicのテーマを調べた方がよいでしょう。

この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

タイトルとURLをコピーしました