ワードプレスのsite_icon_urlフィルタの使用方法・解説

概要

site_icon_urlフィルタは、WordPressサイトのアイコン(ファビコン)のURLを表示するために使用されます。このフィルタを使用することで、デフォルトのアイコンを置き換えたり、アイコンを動的に変更したりすることができます。また、以下のような実装時によく使われる機能があります。

  • サイトアイコンの表示変更
  • アイコンURLの条件付き切り替え
  • カスタムアイコンの追加
  • プラグインによるアイコン変更
  • アイコンのページごとの異なる表示
  • 多言語サイトでのアイコン切り替え
  • テーマごとのアイコン変更
  • スペシャルなイベントやキャンペーン用のアイコン変更

構文

apply_filters( 'site_icon_url', string $site_icon_url );

パラメータ

  • $site_icon_url: 現在のサイトアイコンのURL(文字列)。

戻り値

  • フィルタリング後のサイトアイコンのURL(文字列)。

関連する関数

このフィルタに関連する関数はこちらです。

使用可能なバージョン

site_icon_urlフィルタは、WordPress 4.3.0以降で使用可能です。

コアファイルのパス

このフィルタは、wp-includes/general-template.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

サンプルコード

以下に、site_icon_urlフィルタを使用したサンプルコードをいくつか紹介します。

サンプルコード1: デフォルトアイコンをカスタムアイコンに変更

add_filter('site_icon_url', function($url) {
    return 'https://example.com/path/to/custom-icon.ico';
});

このコードは、サイトのデフォルトアイコンのURLを指定されたカスタムアイコンのURLに変更します。

サンプルコード2: サイトアイコンを動的に変更

add_filter('site_icon_url', function($url) {
    if (is_single()) {
        return 'https://example.com/path/to/post-icon.ico';
    }
    return $url;
});

このコードは、個別の投稿ページにアクセスしたときにサイトアイコンを投稿専用のアイコンに変更します。

サンプルコード3: 言語に応じてアイコンを変更

add_filter('site_icon_url', function($url) {
    if (get_locale() == 'ja') {
        return 'https://example.com/path/to/japanese-icon.ico';
    }
    return $url;
});

このコードは、サイトの言語に応じて異なるアイコンを表示します。

サンプルコード4: 特定の条件に基づくアイコンの変更

add_filter('site_icon_url', function($url) {
    if (is_page('contact')) {
        return 'https://example.com/path/to/contact-icon.ico';
    }
    return $url;
});

このコードは、特定のページ(この場合は「contact」ページ)にアクセスしたときに異なるアイコンを表示します。

サンプルコード5: プラグインまたはテーマがアイコンを変更するためのフック

function my_custom_site_icon($url) {
    if (is_user_logged_in()) {
        return 'https://example.com/path/to/user-icon.ico';
    }
    return $url;
}
add_filter('site_icon_url', 'my_custom_site_icon');

このコードは、ユーザーがログインしている場合に異なるアイコンを表示します。

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


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