カートテーブルに列割引を追加します
P粉807471604
2023-08-31 11:32:05
<p>こんにちは。割引率を含む列をショッピング カート テーブルに追加したいと考えています。
手伝ってもらえますか? </p>
<p>商品ページのコードがあります</p>
<pre class="brush:php;toolbar:false;">////_____________________________________________________________________________////
//アグレガ・エル・ポルセンタヘ・デ・デスクエント・フント・アル・プレシオ・マヨリスタ
// WooCommerce バージョン 3.0 のみ
add_filter( 'woocommerce_format_sale_price', 'woocommerce_custom_sales_price', 10, 3 );
function woocommerce_custom_sales_price( $price, $normal_price, $sale_price ) {
$percentage =round( ( $ Regular_price - $sale_price ) / $ Regular_price * 100 ).'%';
$percentage_txt = ' ' . __(' (-', 'woocommerce' ) . $percentage . __(' )', 'woocommerce' );
$price = '<del>' . ( is_numeric( $ Regular_price ) ? wc_price( $ Regular_price ) : $ Regular_price ) . '</del> <ins>' . ( is_numeric( $sale_price ) ? wc_price( $sale_price ) ) . $percentage_txt : $sale_price . $percentage_txt ) . '</ins>';
$price を返します。
}</pre></p>
カート ページに列 (値はカートのアイテムによって異なります) を追加する最も簡単な方法は、
cart.php
テンプレートをオーバーライドすることです。WooCommerce プラグインから、woocommerce/cart/cart.php を
yourTheme/woocommerce/cart/
にコピーします。子テーマを使用していない場合は、テーマを更新したときにテンプレートの変更が失われないように、子テーマを作成し、それによってテンプレートをオーバーライドすることをお勧めします。詳細については、サブトピックをご覧ください。そこから、
cart.php
を参照し、割引率ヘッダーを挿入する場所を見つけて、データ (この場合は割引率) を挿入します。 p>テーブルヘッダーのラベルを取得するのは非常に簡単です。タグの HTML をテーブルの
リーリーthead
に追加するだけです。私の例では、これはcart.php の 51 ~ 59 行目
にあります:割引率を取得して表示するには、テンプレートを参照して正しい場所を見つける必要があります。この例では、価格と数量の間、割引タイトルのすぐ下に配置しました。
リーリーcart.php
では、これは行 102
になります。そこからは、HTML と PHP コードを記述して、カート商品の通常価格とセール価格に基づいてパーセンテージを計算するだけです:カート ページに、カートのアイテムに基づいた割引率が表示されていることがわかります。 この例では、一番上の製品がセール中で、一番下の製品はセール中ではありません。