概要
get_privacy_policy_template
フィルタは、プライバシーポリシーページ用テンプレートのパス名を取得するためのフィルターフックです。このフィルタは、プライバシーポリシーページの表示に関するカスタマイズを行いたい場合によく使用されます。たとえば、独自のプライバシーポリシーのデザインや特定のコンテンツを追加したい場合などに利用します。
よく使われるケース
- プライバシーポリシーのカスタマイズ
- テーマに特有のプライバシーコンテンツの追加
- 独自のプライバシーポリシーテンプレートの指定
- 特定のプラグインと連携したカスタマイズ
- 条件に応じた異なるテンプレートの提供
- プライバシーポリシーの言語依存のカスタマイズ
- モバイルとデスクトップでの表示の違いをサポート
- 複数サイト環境でのテンプレート選択
構文
apply_filters( 'get_privacy_policy_template', $template );
パラメータ
$template
: 現在のプライバシーポリシーテンプレートのファイルパス。
戻り値
- フィルタを適用した後のプライバシーポリシーテンプレートのファイルパス。
関連する関数
ワードプレスのバージョン
このフィルタは、WordPress 4.9.6以降で利用可能です。
コアファイルのパス
wp-includes/pluggable.php
この関数のアクションでの使用可能性
アクション | 使用可否 |
---|---|
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( 'get_privacy_policy_template', 'my_custom_privacy_policy_template' );
function my_custom_privacy_policy_template( $template ) {
return get_template_directory() . '/custom-privacy-policy.php';
}
このコードは、テーマのルートディレクトリにある custom-privacy-policy.php
をプライバシーポリシーのテンプレートに使用します。
サンプル2: 条件付きテンプレートの選択
特定の条件に基づいて異なるプライバシーポリシーを設定するコードです。
add_filter( 'get_privacy_policy_template', 'conditional_privacy_policy_template' );
function conditional_privacy_policy_template( $template ) {
if ( is_user_logged_in() ) {
return get_template_directory() . '/logged-in-privacy-policy.php';
}
return get_template_directory() . '/default-privacy-policy.php';
}
このコードでは、ユーザーがログインしているかどうかに応じて異なるテンプレートを選択します。
サンプル3: モバイルデバイス用テンプレートの指定
このコードは、モバイルデバイスに特化したプライバシーポリシーのテンプレートを提供します。
add_filter( 'get_privacy_policy_template', 'mobile_privacy_policy_template' );
function mobile_privacy_policy_template( $template ) {
if ( wp_is_mobile() ) {
return get_template_directory() . '/mobile-privacy-policy.php';
}
return $template;
}
モバイルデバイスでアクセスした場合、mobile-privacy-policy.php
を使用します。
サンプル4: プラグインによるテンプレートの変更
プラグインのためにプライバシーポリシーを変更するコードです。
add_filter( 'get_privacy_policy_template', 'plugin_privacy_policy_template' );
function plugin_privacy_policy_template( $template ) {
if ( function_exists( 'some_plugin_function' ) ) {
return plugin_dir_path( __FILE__ ) . 'plugin-privacy-policy.php';
}
return $template;
}
some_plugin_function
が存在する場合、プラグイン用のプライバシーポリシーを設定します。
サンプル5: マルチサイト環境でのプライバシーポリシーの変更
マルチサイト環境において、特定のサイト用のプライバシーポリシーを設定するコードです。
add_filter( 'get_privacy_policy_template', 'multisite_privacy_policy_template' );
function multisite_privacy_policy_template( $template ) {
$current_site_id = get_current_blog_id();
if ( $current_site_id == 2 ) {
return get_template_directory() . '/site2-privacy-policy.php';
}
return $template;
}
サイトIDが2の場合、site2-privacy-policy.php
を使用します。