概要
woocommerce_get_view_order_url
フィルタは、WooCommerce での注文詳細ページへのリンク URL をカスタマイズする際に使用されます。このフィルタを使用することで、デフォルトの注文詳細ページの URL を変更したり、特定の条件に基づいて異なる URL を返すことが可能です。このフィルタは主に以下の機能を実装する際によく使用されます:
- カスタムリダイレクトを実装する
- 特定のユーザータイプ用に異なる注文詳細ページを提供する
- セキュリティ対策として URL の構成を変更する
- マルチサイト環境での注文詳細リンクを調整する
- 特定の条件に基づき URL にパラメータを追加する
- アフィリエイト用に特別なトラッキングをセットアップする
構文
add_filter( 'woocommerce_get_view_order_url', 'your_custom_function', 10, 2 );
パラメータ
$url
(string) : 既存の注文詳細 URL$order
(WC_Order) : 該当する注文オブジェクト
戻り値
- (string) : 修正された注文詳細 URL
使用可能なバージョン
- WooCommerce バージョン: 3.0.0 以降
- WordPress バージョン: 4.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: 注文詳細ページの URL をカスタムドメインに変更
add_filter( 'woocommerce_get_view_order_url', 'custom_view_order_url', 10, 2 );
function custom_view_order_url( $url, $order ) {
return 'https://customdomain.com/order/' . $order->get_id();
}
このコードは、ユーザーが注文詳細ページをリクエストすると、カスタムドメインにリダイレクトします。
サンプルコード2: 特定のユーザーへのカスタムリダイレクト
add_filter( 'woocommerce_get_view_order_url', 'redirect_specific_user_to_custom_url', 10, 2 );
function redirect_specific_user_to_custom_url( $url, $order ) {
if( $order->get_user_id() === 123 ) { // ユーザーID 123 特定
return 'https://example.com/special-order-page';
}
return $url;
}
このコードは、特定のユーザーIDを持つ注文に対して、指定されたカスタム URL へリダイレクトします。
サンプルコード3: 注文 URL にトラッキングパラメータを追加
add_filter( 'woocommerce_get_view_order_url', 'add_tracking_parameter_to_order_url', 10, 2 );
function add_tracking_parameter_to_order_url( $url, $order ) {
return $url . '?ref=tracking_code';
}
このコードは、生成された注文詳細 URL にトラッキングパラメータを追加します。
サンプルコード4: SSL 確保のための URL 修正
add_filter( 'woocommerce_get_view_order_url', 'force_ssl_order_url', 10, 2 );
function force_ssl_order_url( $url, $order ) {
return str_replace( 'http:', 'https:', $url );
}
このコードは、HTTP リンクを HTTPS に変更し、安全な接続を促します。
サンプルコード5: ブランディング用のカスタム URL 生成
add_filter( 'woocommerce_get_view_order_url', 'branding_custom_order_url', 10, 2 );
function branding_custom_order_url( $url, $order ) {
return 'https://mybrand.com/orders/' . $order->get_order_number();
}
このコードは、ブランドのサイトに合わせたカスタム URL を生成し、注文詳細ページへのアクセスを提供します。