プラグインWooCommerceのwoocommerce_docs_urlフィルタの使用方法・解説

概要

woocommerce_docs_url フィルタは、WooCommerce のドキュメントリンクをカスタマイズするためのフックです。このフィルタを使用すると、WooCommerce のドキュメントやヘルプセクションに関連する URL を変更することができます。WooCommerce のデフォルトのドキュメント URL に対して特定の条件に基づいてリンクを変更したい場合に非常に便利です。

このフィルタは、以下のような機能を実装する際によく使われます。

  1. カスタムドキュメントページへのリンク変更
  2. 特定の製品や注文に関連するヘルプリンクの追加
  3. ユーザーロールに基づく異なるドキュメントやヘルプの表示
  4. マルチサイト設定におけるドキュメントへのパスの変更
  5. 地域や言語に応じたドキュメントのリンク変更
  6. プラグインやテーマによる拡張ドキュメントへのリンク追加

構文

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

サンプルコード

  1. デフォルトのドキュメント 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/

  2. 特定のスラッグに基づくリンクの変更

    このサンプルでは、特定のスラッグに基づいて異なるドキュメント 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/

  3. ユーザーのロールに基づくリンクのカスタマイズ

    ユーザーのロールに応じて、異なるドキュメント 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/

  4. 言語に応じた 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/

  5. フロントエンドのドキュメントリンクを変更

    フロントエンドの場合だけ、ドキュメントリンクをかえています。

    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/

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


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