概要
do_favicon
アクションは、WordPressでサイトのファビコンを表示するために使用されるフックであり、特にfavicon.ico
の代替ファイルを表示する際に役立ちます。このアクションは、テーマやプラグインでカスタムファビコンを追加したり、異なるファイルタイプのファビコンを提供する機能を実装するために広く使われます。
このアクションがよく使われるケースは以下の通りです。
- カスタムファビコンの追加
- ユーザーごとの異なるファビコンの表示
- 異なるデバイス向けのファビコンの提供
- テーマ設定でのファビコンの管理
- プラグインによるファビコンの条件付き表示
- 自動生成されたファビコンの表示
- ブラウザやデバイスに応じたファビコンの変更
- SEO効果を考慮したファビコンの実装
構文
do_action( 'do_favicon' );
パラメータ
- なし
戻り値
- なし
関連する関数
ワードプレスバージョン
- バージョン 3.2 以降で使用可能
コアファイルのパス
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 | 〇 |
サンプルコード
サンプルコード1: カスタムファビコンの追加
add_action( 'do_favicon', 'my_custom_favicon' );
function my_custom_favicon() {
echo '<link rel="icon" href="' . get_template_directory_uri() . '/images/favicon.png" sizes="32x32">';
}
このコードは、カスタムファビコンをテーマのimagesフォルダから追加します。
サンプルコード2: デバイスに応じたファビコンの表示
add_action( 'do_favicon', 'device_specific_favicon' );
function device_specific_favicon() {
if (wp_is_mobile()) {
echo '<link rel="icon" href="' . get_template_directory_uri() . '/images/favicon-mobile.png">';
} else {
echo '<link rel="icon" href="' . get_template_directory_uri() . '/images/favicon.png">';
}
}
このコードは、デバイスがモバイルかどうかを判断し、それぞれのファビコンを表示します。
サンプルコード3: 優先順位を使用したファビコンの設定
add_action( 'do_favicon', 'priority_favicon', 1 );
function priority_favicon() {
echo '<link rel="icon" href="' . get_template_directory_uri() . '/images/favicon-priority.png">';
}
このコードは、優先順位を1に設定し、他のファビコン設定よりも先に表示されるようにします。
サンプルコード4: プラグインによる条件付きファビコンの表示
add_action( 'do_favicon', 'conditional_plugin_favicon' );
function conditional_plugin_favicon() {
if ( is_user_logged_in() ) {
echo '<link rel="icon" href="' . plugins_url( 'images/favicon-loggedin.png', __FILE__ ) . '">';
}
}
このコードは、ユーザーがログインしている場合にのみ特定のファビコンを表示します。
サンプルコード5: カスタムサイズのファビコンを表示
add_action( 'do_favicon', 'custom_size_favicon' );
function custom_size_favicon() {
echo '<link rel="icon" href="' . get_template_directory_uri() . '/images/favicon-large.png" sizes="192x192">';
}
このコードは、指定したサイズのファビコンを表示します。192×192ピクセルサイズのファビコンが設定されています。