概要
woocommerce_shipping_estimate_html
フィルタは、WooCommerce の配送見積もりに関連する HTML をカスタマイズするために使用されます。このフィルタを利用することで、顧客に表示される配送オプションやその見積もり HTML を変更することができます。このフィルタは、主に以下のような機能を実装する際に役立ちます。
- 客観的な配送料金を表示するためのカスタム HTML
- 配送オプションの順序やレイアウトの変更
- 特定の条件に基づいた配送メッセージの追加
- その他のプラグインとの統合による見積もり情報の強化
- ユーザー体験を向上させるためのカスタマイズ
- SEO 最適化のための HTML 属性の追加
このフィルタは WooCommerce バージョン 2.6 以降および WordPress バージョン 4.0 以降で使用可能です。
構文
add_filter( 'woocommerce_shipping_estimate_html', 'custom_shipping_estimate_html', 10, 2 );
function custom_shipping_estimate_html( $html, $shipping ) {
// カスタム処理
return $html;
}
$html
: 変更前の配送見積もり HTML-
$shipping
: 配送オプションの詳細を含む配列 -
戻り値: カスタマイズされた配送見積もりの HTML
サンプルコード
サンプルコード 1: 配送メッセージの追加
このサンプルコードでは、配送見積もりの HTML にカスタムメッセージを追加します。
add_filter( 'woocommerce_shipping_estimate_html', 'add_custom_message_to_shipping_estimate', 10, 2 );
function add_custom_message_to_shipping_estimate( $html, $shipping ) {
$html .= '<p>特別な配送料金が適用されています。</p>';
return $html;
}
サンプルコード 2: 配送オプションの変更
このコードは、特定の配送方法の見積もり HTML を変更します。
add_filter( 'woocommerce_shipping_estimate_html', 'modify_shipping_option_html', 10, 2 );
function modify_shipping_option_html( $html, $shipping ) {
if ( isset( $shipping['method_id'] ) && $shipping['method_id'] === 'flat_rate' ) {
$html = str_replace( '平坦料金', '特別料金', $html );
}
return $html;
}
サンプルコード 3: CSSクラスの追加
この例では、配送見積もりの HTML にカスタム CSS クラスを追加します。
add_filter( 'woocommerce_shipping_estimate_html', 'add_custom_css_class', 10, 2 );
function add_custom_css_class( $html, $shipping ) {
$html = str_replace( '<div class="shipping_estimate">', '<div class="shipping_estimate custom-class">', $html );
return $html;
}
サンプルコード 4: 配送料金のフォーマット変更
このコードでは、配送見積もりの料金表示形式を変更します。
add_filter( 'woocommerce_shipping_estimate_html', 'format_shipping_cost', 10, 2 );
function format_shipping_cost( $html, $shipping ) {
// 料金をフォーマットして表示
$formatted_cost = number_format( floatval( $shipping['cost'] ), 2 ) . ' 円';
$html = str_replace( $shipping['cost'] . ' 円', $formatted_cost, $html );
return $html;
}
サンプルコード 5: 無料配送オプションへの注意書き
この例では、無料配送オプションが選択された際に特別な注意書きを追加します。
add_filter( 'woocommerce_shipping_estimate_html', 'add_note_for_free_shipping', 10, 2 );
function add_note_for_free_shipping( $html, $shipping ) {
if ( isset( $shipping['method_id'] ) && $shipping['method_id'] === 'free_shipping' ) {
$html .= '<p>無料配送をお選びいただきありがとうございます!</p>';
}
return $html;
}
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |