概要
woocommerce_shortcode_order_tracking_order_id
関数は、WooCommerceプラグインにおいて、ユーザーがマイページ等で注文の追跡を行うためのショートコードを実装する際によく使用されます。この関数は、特定の注文IDを用いて、注文の状態を追跡する機能を提供します。以下のようなシナリオでよく利用されます。
- 顧客が自分の注文状況を確認するための追跡ページ
- 注文確認メールに追跡リンクを埋め込む際
- 顧客サポートでの注文ステータス確認
- ショッピングカートページでの注文明細表示
- ウェブサイト上のカスタムダッシュボードでの注文情報表示
- モバイルアプリでの注文追跡機能との連携
構文
woocommerce_shortcode_order_tracking_order_id( $atts );
パラメータ
$atts
: デフォルトでは'order_id'
という属性。必要に応じて追加の属性を持つ配列として渡すことができます。
戻り値
- ユーザーに表示される追跡情報の HTML コンテンツを返します。
バージョン情報
- WooCommerce バージョン: 5.0 以上
- WordPress バージョン: 5.0 以上
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |
サンプルコード
サンプルコード1
add_shortcode( 'order_tracking', 'custom_order_tracking_shortcode' );
function custom_order_tracking_shortcode( $atts ) {
ob_start();
if ( isset( $atts['order_id'] ) ) {
$order_id = intval( $atts['order_id'] );
echo do_shortcode( '[woocommerce_order_tracking order_id="' . $order_id . '"]' );
} else {
echo '注文IDが指定されていません。';
}
return ob_get_clean();
}
説明: このコードはカスタムショートコードを作成し、引数として受け取った注文IDを基に注文追跡を表示します。
サンプルコード2
function display_order_tracking_form() {
?>
<form method="post" action="">
<label for="order_id">注文ID:</label>
<input type="text" id="order_id" name="order_id" />
<input type="submit" value="追跡" />
</form>
<?php
if ( ! empty( $_POST['order_id'] ) ) {
echo do_shortcode( '[woocommerce_order_tracking order_id="' . intval( $_POST['order_id'] ) . '"]' );
}
}
add_action( 'wp_footer', 'display_order_tracking_form' );
説明: このコードはフッターに注文追跡フォームを表示し、ユーザーが注文IDを入力後、その情報を基に注文の追跡結果を表示します。
サンプルコード3
function custom_order_tracking_page_content( $content ) {
if ( is_page( 'order-tracking' ) ) {
$content .= do_shortcode( '[woocommerce_order_tracking]' );
}
return $content;
}
add_filter( 'the_content', 'custom_order_tracking_page_content' );
説明: 特定のページ(’order-tracking’)が表示された際に、WooCommerceの注文追跡ショートコードを内容に追加します。
サンプルコード4
function ajax_order_tracking() {
$order_id = intval( $_POST['order_id'] );
$tracking_info = do_shortcode( '[woocommerce_order_tracking order_id="' . $order_id . '"]' );
wp_send_json_success( $tracking_info );
}
add_action( 'wp_ajax_order_tracking', 'ajax_order_tracking' );
add_action( 'wp_ajax_nopriv_order_tracking', 'ajax_order_tracking' );
説明: Ajax リクエストを利用して、指定された注文IDの追跡情報を非同期で取得し、JSON形式で返します。
サンプルコード5
function shortcode_order_tracking_link( $atts ) {
$order_id = isset( $atts['id'] ) ? intval( $atts['id'] ) : '';
return '<a href="' . esc_url( add_query_arg( 'order_id', $order_id, get_permalink() ) ) . '">注文追跡</a>';
}
add_shortcode( 'tracking_link', 'shortcode_order_tracking_link' );
説明: 注文IDを基に注文追跡のリンクを生成するショートコードを作成します。
以上が、woocommerce_shortcode_order_tracking_order_id
関数に関する解説とサンプルコードです。