プラグインWooCommerceのwoocommerce_shortcode_order_tracking_order_id関数の使用方法・解説

概要

woocommerce_shortcode_order_tracking_order_id関数は、WooCommerceプラグインにおいて、ユーザーがマイページ等で注文の追跡を行うためのショートコードを実装する際によく使用されます。この関数は、特定の注文IDを用いて、注文の状態を追跡する機能を提供します。以下のようなシナリオでよく利用されます。

  1. 顧客が自分の注文状況を確認するための追跡ページ
  2. 注文確認メールに追跡リンクを埋め込む際
  3. 顧客サポートでの注文ステータス確認
  4. ショッピングカートページでの注文明細表示
  5. ウェブサイト上のカスタムダッシュボードでの注文情報表示
  6. モバイルアプリでの注文追跡機能との連携

構文

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関数に関する解説とサンプルコードです。

この関数について質問する


上の計算式の答えを入力してください