ミギムキ

Welcartのカート画面から在庫状態の列を削除したい

サンプルコード

wc_cart_page.php

<table cellspacing="0" id="cart_table"> <thead> <tr> <th scope="row" class="num">No.</th> <th class="thumbnail"> </th> <th><?php _e('item name','usces'); ?></th> <th class="quantity"><?php _e('Unit price','usces'); ?></th> <th class="quantity"><?php _e('Quantity','usces'); ?></th> <th class="subtotal"><?php _e('Amount','usces'); ?><?php usces_guid_tax(); ?></th> <th class="action">&nbsp;</th> </tr> </thead> <tbody> <?php usces_get_cart_rows(); ?> </tbody> <tfoot> <tr> <th colspan="5" scope="row" class="aright"><?php _e('total items','usces'); ?><?php usces_guid_tax(); ?></th> <th class="aright"><?php usces_crform(usces_total_price('return'), true, false); ?></th> <th>&nbsp;</th> </tr> </tfoot> </table>
  • テンプレートのテーブル表示に手を加えます。tbodyタグ内の内容については、usces_get_cart_rows関数で出力されているので、ここではそのままにしておきます
  • テーブルの見出しとフッターは関数呼び出しではなく、在庫状態用のセルが書かれていますので、適宜削除します
  • 上記サンプルコードは、theadタグ内の不要なセルの削除、tfoot内のcolspanによるセル結合を削除した状態のものになります

functions.php

function correct_cart_rows($html) { $html = preg_replace('/<td class="stock">(.*)<\/td>/', '', $html); return $html; } add_filter('usces_filter_cart_rows', 'correct_cart_rows', 10, 1);

在庫状態以外の列を削除したい

add_filter('usces_filter_confirm_rows', 'correct_cart_rows', 10, 1);

No.

$html = preg_replace('/<td class="num">(.*)<\/td>/', '', $html);

サムネイル

$html = preg_replace('/<td class="thumbnail">(.*)<\/td>/', '', $html);

商品名

$html = preg_replace('/<td class="aleft productname">(.*)<\/td>/', '', $html);

単価

$html = preg_replace('/<td class="aright unitprice">(.*)<\/td>/', '', $html);

数量

$html = preg_replace('/<td class="quantity">(.*)<\/td>/', '', $html);

金額

$html = preg_replace('/<td class="aright subtotal">(.*)<\/td>/', '', $html);

削除ボタン

$html = preg_replace('/<td class="action">(.*)<\/td>/', '', $html);

ご質問など受け付けています

記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。

ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。