has_custom_logo()


関数has_custom_logo()は、現在のテーマにカスタムロゴが設定されているかどうかを確認するために使用されます。

構文

has_custom_logo();

この関数は、現在のテーマにカスタムロゴが登録されている場合にtrueを返し、そうでない場合はfalseを返します。引数はありません。

例 1. カスタムロゴが登録されているかを確認する

以下のコードは、カスタムロゴが登録されている場合にそのロゴを表示し、そうでない場合はサイト名を表示します。

<?php
if ( has_custom_logo() ) {
    the_custom_logo();
} else {
    echo '<h1>' . get_bloginfo( 'name' ) . '</h1>';
}
?>

例 2. カスタムロゴの有無に応じたCSSクラスの付与

カスタムロゴが設定されているかどうかで異なるCSSクラスを適用する例です。

<?php
$logo_class = has_custom_logo() ? 'has-logo' : 'no-logo';
?>
<div class="<?php echo $logo_class; ?>">
    サイトのヘッダー内容
</div>
?>

例 3. カスタムロゴがない場合のデフォルト画像表示

カスタムロゴが設定されていない場合に、デフォルトの画像を表示します。

<?php
if ( has_custom_logo() ) {
    the_custom_logo();
} else {
    echo '<img src="' . esc_url( get_template_directory_uri() . '/images/default-logo.png' ) . '" alt="' . get_bloginfo( 'name' ) . '">';
}
?>

注意事項

  • has_custom_logo()はカスタムロゴがテーマサポートで有効化されている場合にのみ機能します。
  • カスタムロゴはテーマのfunctions.phpファイルでadd_theme_support( 'custom-logo' )を使用して登録する必要があります。

関連機能: