MENU
  • ホーム
  • プロフィール
  • 仕事の依頼について
  • お問い合わせ
子育ても、やりたいことも。ママフリーランス10年のリアル
おうちit
  • ホーム
  • プロフィール
  • 仕事の依頼について
  • お問い合わせ
おうちit
  • ホーム
  • プロフィール
  • 仕事の依頼について
  • お問い合わせ
  1. ホーム
  2. IT
  3. WordPress
  4. 【WordPress】WooCommerceでバリエーションのある商品の価格表示の変更方法

【WordPress】WooCommerceでバリエーションのある商品の価格表示の変更方法

2018 5/08
WordPress
2018年4月18日2018年5月8日

WordPressのプラグイン「WooCommerce」をインストールし、色々試してみているところです。

今回は、バリエーションのある商品の価格表示を変更させてみました。

 

目次

前提

・プラグイン「WooCommerce」インストール済み

・プラグイン「WooCommerce For Japan」インストール済み

・子テーマ作成済み

 

バリエーションのある商品を追加

まずは、バリエーションのある商品を追加してみました。

商品データ

<属性>

「色」、値に「白」「黒」を追加。

<バリエーション>

「白」の通常価格を1000円に、「黒」の通常価格を2000円に設定。

表示結果

 

価格が「最低価格-最高価格」のように表示されていますが、個人的には最低価格のみ表示させたいところです。

上記キャプチャで「¥1,000-¥2,000」となっている部分です。

 

カスタマイズ

対象ファイル:/wp-content/plugins/woocommerce/includes/class-wc-product-variable.php

変更前

	public function get_price_html( $price = '' ) {
		$prices = $this->get_variation_prices( true );

		if ( empty( $prices['price'] ) ) {
			$price = apply_filters( 'woocommerce_variable_empty_price_html', '', $this );
		} else {
			$min_price     = current( $prices['price'] );
			$max_price     = end( $prices['price'] );
			$min_reg_price = current( $prices['regular_price'] );
			$max_reg_price = end( $prices['regular_price'] );

			if ( $min_price !== $max_price ) {
				$price = wc_format_price_range( $min_price, $max_price );
			} elseif ( $this->is_on_sale() && $min_reg_price === $max_reg_price ) {
				$price = wc_format_sale_price( wc_price( $max_reg_price ), wc_price( $min_price ) );
			} else {
				$price = wc_price( $min_price );
			}

			$price = apply_filters( 'woocommerce_variable_price_html', $price . $this->get_price_suffix(), $this );
		}

		return apply_filters( 'woocommerce_get_price_html', $price, $this );
	}

変更後

	public function get_price_html( $price = '' ) {
		$prices = $this->get_variation_prices( true );

		if ( empty( $prices['price'] ) ) {
			$price = apply_filters( 'woocommerce_variable_empty_price_html', '', $this );
		} else {
			$min_price     = current( $prices['price'] );
			$max_price     = end( $prices['price'] );
			$min_reg_price = current( $prices['regular_price'] );
			$max_reg_price = end( $prices['regular_price'] );

			// if ( $min_price !== $max_price ) {
			// 	$price = wc_format_price_range( $min_price, $max_price );
			// } elseif ( $this->is_on_sale() && $min_reg_price === $max_reg_price ) {
			// 	$price = wc_format_sale_price( wc_price( $max_reg_price ), wc_price( $min_price ) );
			// } else {
				$price = wc_price( $min_price );
			// }

			$price = apply_filters( 'woocommerce_variable_price_html', $price . $this->get_price_suffix(), $this );
		}

		return apply_filters( 'woocommerce_get_price_html', $price, $this );
	}

156〜160,162行目をコメントアウトしました。

if文で、最低価格と最大価格が等しくない場合の処理などが記述されているので、条件に関わらず最低価格のみ取得するように変更しました。

表示結果

最低価格のみ表示させることに成功しました!

 

最後に

とりあえず、対象のファイルと記述箇所は突き止めましたが、プラグインのファイルを直接編集することはおすすめ出来ません。。。

同じように困っている方はこれを参考に、どうにか対処してみて下さい。

WordPress
WooCommerce
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
  • 【WordPress】初心者でも簡単!VCCWでMacにローカル環境を構築する
  • 【WordPress】WooCommerceのメールに注文者の名前を追加する

この記事を書いた人

管理人

関連記事

  • 【WordPress】プラグインがアップデート出来ない原因と解決策
    2019年3月14日
  • 【WordPress】テーマ「Grazioso」を企業サイト作成に強くお勧めする理由5つ
    2018年12月9日
  • WordPress5.0の新エディター「Gutenberg」を試してみたよ!
    2018年12月7日
  • JINのスマホフッターメニューに動くアイコンを追加する方法
    2018年11月16日
  • 【WordPress】テーマ「JIN」を購入して良かった点5つ
    2018年11月13日
  • 【WordPress】WooCommerceでバリエーションのある商品を追加する方法
    2018年11月1日
  • 【WordPress】WooCommerceとは?初心者向けにざっくり解説します
    2018年10月31日
  • wordpress
    【WordPress】子テーマのレイアウトが崩れる原因
    2018年10月7日

コメント

コメントする コメントをキャンセル

広告
  • ホーム
  • プロフィール
  • 仕事の依頼について
  • お問い合わせ

© おうちイットラボ

目次