概要
has_custom_logo関数は、WordPressのテーマにおいてカスタムロゴが設定されているか調べるために使用されます。これにより、ユーザーはテーマのビジュアル要素をより一層カスタマイズすることができ、ブランドの認知度を向上させることができます。カスタムロゴが設定されているかどうかをチェックすることは、以下のような機能実装に役立ちます。
- テーマのヘッダー部分にカスタムロゴを表示する
- ロゴがない場合の代替画像を設定する
- カスタムロゴを使用した場合のスタイル調整
- モバイル版でのロゴ表示の有無を確認する
- ユーザーがアップロードしたロゴを判別する
- テーマオプションでのロゴ設定を確認する
- カスタムロゴを持つ比較のためにデフォルトロゴを設定する
- ロゴが設定されていない場合の警告を表示する
構文
has_custom_logo();
パラメータ
この関数はパラメータを受け取りません。
戻り値
trueまたはfalsetrue: カスタムロゴが設定されている場合false: カスタムロゴが設定されていない場合
関連する関数
使用可能なバージョン
- WordPress 4.5以降
コアファイルのパス
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: カスタムロゴをチェックして表示する
if ( has_custom_logo() ) {
the_custom_logo();
} else {
echo '<h1>デフォルトロゴ</h1>';
}
このサンプルコードは、カスタムロゴが設定されているかをチェックし、存在する場合はそのロゴを表示し、存在しない場合はデフォルトのロゴタイトルを表示します。
サンプルコード 2: カスタムロゴの有無を利用した条件分岐
if ( has_custom_logo() ) {
// カスタムロゴが設定されている場合の処理
echo 'カスタムロゴがあります!';
} else {
// カスタムロゴが設定されていない場合の処理
echo 'カスタムロゴは設定されていません。';
}
このサンプルは、カスタムロゴの有無に応じて異なるメッセージを表示しています。
サンプルコード 3: CSSスタイルを適用する際のチェック
if ( has_custom_logo() ) {
echo '<style>.header-logo { display: block; }</style>';
} else {
echo '<style>.header-logo { display: none; }</style>';
}
このサンプルコードは、カスタムロゴの有無によって異なるCSSスタイルを適用します。
サンプルコード 4: カスタムロゴのURLを取得する
if ( has_custom_logo() ) {
$custom_logo_id = get_theme_mod( 'custom_logo' );
$logo = wp_get_attachment_image_src( $custom_logo_id , 'full' );
echo '<img src="' . esc_url( $logo[0] ) . '" alt="ロゴ">';
}
このコードは、カスタムロゴが設定されている場合、その画像のURLを取得して表示します。
サンプルコード 5: カスタムロゴがない時の代替テキストを表示
if ( has_custom_logo() ) {
the_custom_logo();
} else {
echo '<img src="default-logo.png" alt="デフォルトロゴ">';
}
このサンプルは、カスタムロゴが設定されていない場合に代わりの画像を表示します。