概要
woocommerce_order_item_permalink
フィルタは、WooCommerceにおける注文アイテムのパーマリンクをカスタマイズするために使用されます。このフィルタは、特定の注文アイテムに関連付けられたリンクを変更したい場合に非常に便利です。通常、このフィルタは以下のような機能を実装する際に使用されます。
- オンラインショップの特定のアイテムへのリンクを変更する。
- 特定のプロモーションやキャンペーン用のURLを設定する。
- アイテムがバリエーションを持つ場合のリンクのカスタマイズ。
- SEOを考慮したリンクの最適化。
- 商品に関連するカスタムページへのリダイレクト設定。
- 特定の条件に基づいてリンクを動的に変更する。
フィルタの構文は以下の通りです。
apply_filters( 'woocommerce_order_item_permalink', $permalink, $item_id, $order );
パラメータ
$permalink
(string): 変更されるパーマリンク。$item_id
(int): 注文アイテムのID。$order
(WC_Order): 対応するWooCommerceの注文オブジェクト。
戻り値
- (string): フィルタによって変更されたパーマリンク。
バージョン
- WooCommerce: 2.1.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: 商品の特別リンクを追加する
このコードは、特定の条件に応じて商品のパーマリンクに特別なクエリパラメータを追加します。
add_filter( 'woocommerce_order_item_permalink', 'custom_order_item_permalink', 10, 3 );
function custom_order_item_permalink( $permalink, $item_id, $order ) {
if ( /* 特定の条件 */ ) {
$permalink .= '?ref=special_offer';
}
return $permalink;
}
サンプル 2: カスタムURLへのリダイレクト
このコードは、商品が特定のカテゴリーに属する場合にカスタムURLへのリンクを返します。
add_filter( 'woocommerce_order_item_permalink', 'redirect_to_custom_page', 10, 3 );
function redirect_to_custom_page( $permalink, $item_id, $order ) {
$item = $order->get_item( $item_id );
if ( has_term( '特定のカテゴリー', 'product_cat', $item->get_product_id() ) ) {
return 'https://example.com/custom-page';
}
return $permalink;
}
サンプル 3: セールアイテムのリンクを強調
このコードは、セール価格の商品のパーマリンクを強調するためにカスタマイズします。
add_filter( 'woocommerce_order_item_permalink', 'highlight_sale_item_link', 10, 3 );
function highlight_sale_item_link( $permalink, $item_id, $order ) {
$item = $order->get_item( $item_id );
if ( $item->get_product()->is_on_sale() ) {
return $permalink . '?sale=yes';
}
return $permalink;
}
サンプル 4: カスタムトラッキングリンクを追加
このコードは、注文に対してカスタムトラッキングリンクを付加します。
add_filter( 'woocommerce_order_item_permalink', 'add_tracking_link', 10, 3 );
function add_tracking_link( $permalink, $item_id, $order ) {
return $permalink . '&tracking_id=' . $order->get_id();
}
サンプル 5: 特定のユーザーのみリンクを表示
このコードは、特定のユーザーにのみ商品リンクを表示します。
add_filter( 'woocommerce_order_item_permalink', 'conditional_order_item_link', 10, 3 );
function conditional_order_item_link( $permalink, $item_id, $order ) {
if ( current_user_can( 'specific_role' ) ) {
return $permalink;
}
return '#'; // ユーザーにリンクを表示しない
}
これらのサンプルコードは、各自の条件やビジネスニーズに応じてカスタマイズして使用することができる、著作権フリーのものです。