Memo: WPテーマカスタマイザーのロゴ表示切り替えチェックボックス設置

2020年5月16日

Tips: Add switching check box to the logo displaying in theme customizer in WordPress

ビジュアル・カスタマイザーのロゴ表示切り替えチェックボックスの設置

WordPressのテーマカスタマイザーの項目、ロゴの表示・非表示切り替えのチェックボックスを追加しようと思い、色んなフォーラムを探してやっと動作したので、メモとして残しておきます。

編集するのは、functions.php と、header.phpです。

functions.php

ロゴの表示・非表示なら、そのままコピペで大丈夫です。
functions.phpを編集する時は、小テーマを作ってからにしましょう。

デフォルトでは、チェックボックス「OFF」
チェックボックスのチェックを外したり付けたりする度にリフレッシュされます。

応用すれば、ロゴを残して、サイトタイトルやキャッチフレーズ(Description)の表示・非表示のチェックボックスを追加することができるでしょう。

// Add display switch check box to Logo section
function customize_identity( $wp_customize ) {
  $wp_customize->add_setting( 'logo_display[logo_visible]', array(
    'default'   => false,
    'type'      => 'option',
    'transport' => 'refresh',
  ));
  $wp_customize->add_control( 'logo_display_btn', array(
    'settings'  => 'logo_display[logo_visible]',
    'label'     => 'ロゴを表示する',
    'section'   => 'title_tagline',
    'priority'  => 9,
    'type'      => 'checkbox',
  ));
}
add_action( 'customize_register', 'customize_identity' );
function is_logo_visible(){
  $o = get_option('logo_display');
  return $o[logo_visible];
}

header.php

header.php内の任意の場所に下記のコードを埋め込みます。

<?php if ( is_logo_visible() ): ?>
  <div class="site-logo"><?php the_custom_logo(); ?></div>
<?php endif; ?>

おしまい

Leave a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です