概要
woocommerce_docs_url
フィルタは、WooCommerce のドキュメントリンクをカスタマイズするためのフックです。このフィルタを使用すると、WooCommerce のドキュメントやヘルプセクションに関連する URL を変更することができます。WooCommerce のデフォルトのドキュメント URL に対して特定の条件に基づいてリンクを変更したい場合に非常に便利です。
このフィルタは、以下のような機能を実装する際によく使われます。
- カスタムドキュメントページへのリンク変更
- 特定の製品や注文に関連するヘルプリンクの追加
- ユーザーロールに基づく異なるドキュメントやヘルプの表示
- マルチサイト設定におけるドキュメントへのパスの変更
- 地域や言語に応じたドキュメントのリンク変更
- プラグインやテーマによる拡張ドキュメントへのリンク追加
構文
add_filter( 'woocommerce_docs_url', 'custom_woocommerce_docs_url', 10, 2 );
パラメータ
$url
(string): デフォルトのドキュメント URL$slug
(string): ドキュメントのスラッグ
戻り値
- 変更したドキュメント URL (string)
使用可能なバージョン
- WooCommerce: 3.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 |
サンプルコード
-
デフォルトのドキュメント URL をカスタマイズする
このサンプルは、WooCommerce のデフォルトのドキュメント URL を特定の URL に変更します。
add_filter( 'woocommerce_docs_url', 'custom_woocommerce_docs_url', 10, 2 ); function custom_woocommerce_docs_url( $url, $slug ) { return 'https://my-custom-docs.com/' . $slug; }
引用元: https://developer.wordpress.org/reference/functions/add_filter/
-
特定のスラッグに基づくリンクの変更
このサンプルでは、特定のスラッグに基づいて異なるドキュメント URL を設定します。
add_filter( 'woocommerce_docs_url', 'custom_docs_based_on_slug', 10, 2 ); function custom_docs_based_on_slug( $url, $slug ) { if ( $slug === 'payment' ) { return 'https://my-custom-docs.com/payment-guide'; } return $url; }
引用元: https://developer.wordpress.org/reference/functions/add_filter/
-
ユーザーのロールに基づくリンクのカスタマイズ
ユーザーのロールに応じて、異なるドキュメント URL を返すサンプルです。
add_filter( 'woocommerce_docs_url', 'custom_docs_for_roles', 10, 2 ); function custom_docs_for_roles( $url, $slug ) { if ( current_user_can( 'administrator' ) ) { return 'https://admin-docs.com/' . $slug; } return $url; }
引用元: https://developer.wordpress.org/reference/functions/add_filter/
-
言語に応じた URL の変更
このサンプルでは、ユーザーの言語に基づいてURLを変更しています。
add_filter( 'woocommerce_docs_url', 'custom_docs_based_on_language', 10, 2 ); function custom_docs_based_on_language( $url, $slug ) { if ( get_locale() === 'ja' ) { return 'https://jp.custom-docs.com/' . $slug; } return $url; }
引用元: https://developer.wordpress.org/reference/functions/add_filter/
-
フロントエンドのドキュメントリンクを変更
フロントエンドの場合だけ、ドキュメントリンクをかえています。
add_filter( 'woocommerce_docs_url', 'frontend_custom_docs_url', 10, 2 ); function frontend_custom_docs_url( $url, $slug ) { if ( ! is_admin() ) { return 'https://frontend-docs.com/' . $slug; } return $url; }
引用元: https://developer.wordpress.org/reference/functions/add_filter/