Step By Work

大阪のホームページ制作会社

Welcartの商品一覧ページで発送日目安、配送方法、送料によって絞り込む

Date: 2024.06.23
Update: 2024.06.23

執筆・監修

上杉 洋 Hiroshi Uesugi

1991年生まれ。 株式会社ステップバイワーク代表。 2013年に株式会社n.uを設立。 2015年にStep by workとして独立。 2021年株式会社ステップバイワークとして法人化。 HP制作/SEO対策/コンテンツ制作/動画制作/YouTube運用/写真撮/WordPressを全て一人でやります。

Welcartのバージョン2.7以降は大幅なデータ仕様の変更が行われたました

そのため商品一覧ページでの発送日目安、配送方法、送料などでの絞り込み方法に関する古い記事を参考にしても実現できない方が多いのではないかと思います

したがって今回はWordPressのバージョン6.5.3/Welcartのバージョン 2.10.3で動く絞り込み方法を紹介します

上杉

令和最新版!?

発送日目安での絞り込みサンプルコード

function change_posts_per_page($query)
{
	if (is_admin() || !$query->is_main_query()) {
		return;
	} else {
	}
	if ($query->is_home() || $query->is_category()) {
		if (isset($_GET['itemShipping']) && is_string($_GET['itemShipping'])) {
			global $wpdb;
			add_filter('posts_join', function ($join) use ($wpdb) {
				return $join . " LEFT JOIN {$wpdb->prefix}usces_item ON {$wpdb->prefix}posts.ID = {$wpdb->prefix}usces_item.post_id";
			});
			add_filter('posts_where', function ($where) use ($wpdb) {
				return $where . " AND {$wpdb->prefix}usces_item.itemShipping = {$_GET['itemShipping']}";
			});
			add_filter('posts_distinct', function ($distinct) {
				return 'DISTINCT';
			});
		}
		return;
	}
}
add_action('pre_get_posts', 'change_posts_per_page');

上記コードは発送日目安で商品の絞り込みを実装するコードです
function.phpに記述して使用してください

//発送日が即日の商品のみを表示
https://hogehoge.com/item?itemShipping=1

上記のURLで商品一覧ページにアクセスすることで発送日目安が即日の商品のみを表示することができます

発送日目安は即日が1~商品入荷後が9です

ポイント率での絞り込みサンプル

function change_posts_per_page($query)
{
	if (is_admin() || !$query->is_main_query()) {
		return;
	} else {
	}
	if ($query->is_home() || $query->is_category()) {
		if (isset($_GET['itemPointrate']) && is_string($_GET['itemPointrate'])) {
			global $wpdb;
			add_filter('posts_join', function ($join) use ($wpdb) {
				return $join . " LEFT JOIN {$wpdb->prefix}usces_item ON {$wpdb->prefix}posts.ID = {$wpdb->prefix}usces_item.post_id";
			});
			add_filter('posts_where', function ($where) use ($wpdb) {
				return $where . " AND {$wpdb->prefix}usces_item.itemPointrate > {$_GET['itemPointrate']}";
			});
			add_filter('posts_distinct', function ($distinct) {
				return 'DISTINCT';
			});
		}
		return;
	}
}
add_action('pre_get_posts', 'change_posts_per_page');

商品に紐づいている項目であれば同じ方法でポイント率などでも絞り込みが可能です

//ポイント率が10%超の商品を表示
https://hogehoge.com/item?itemPointrate=10

その他の絞り込みができる項目と確認方法

商品に紐づいている項目であれば他にも色々と絞り込みの制御が可能です

絞り込みで使えそうな項目

それぞれのレコードについてはwp_usces_itemテーブルを確認してください

  • post_id
  • itemCode
  • itemName
  • itemRestriction
  • itemPointrate
  • itemGpNum1
  • itemGpNum2
  • itemGpNum3
  • itemGpDis1
  • itemGpDis2
  • itemGpDis3
  • itemOrderAcceptable
  • itemShipping
  • itemDeliveryMethod
  • itemShippingCharge
  • itemIndividualSCharge
  • item_charging_type
  • item_division
  • dlseller_date
  • dlseller_file
  • dlseller_interval
  • dlseller_validity
  • dlseller_version
  • dlseller_author
  • dlseller_purchases
  • dlseller_downloads
  • item_chargingday
  • item_frequency
  • wcad_regular_unit
  • wcad_regular_interval
  • wcad_regular_frequency
  • select_sku_switch
  • select_sku_display
  • select_sku
  • atobarai_propriety
  • atodene_propriety
  • structuredDataSku
  • lower_limit
  • popularity
  • main_price
  • itemPicts
  • itemAdvanced

この記事へのコメント 0件