Пользовательская функция для добавления вторичного логотипа
Я пытаюсь создать пользовательскую функцию, чтобы иметь возможность изменять / загружать новое изображение с панели "Настройка" (это потому, что я не буду управлять сайтом, поэтому я пытаюсь что-то сделать как можно проще).
По умолчанию я использовал тему adamos ( ссылка), а затем начал настраивать ее для своих целей. В functions.php я добавил следующий код:
function gb_theme_customizer( $wp_customize ) {
$wp_customize->add_section( 'gb_logo_section' , array(
'title' => __( 'Gb\'s Logo', 'gb_logo' ),
'priority' => 31,
'description' => 'Upload a new logo for Gb to be displayed above the left menu',
) );
$wp_customize->add_setting(
'gb_logo',
array(
'sanitize_callback' => 'gb_sanitize_upload',
)
);
$wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'gb_logo', array(
'label' => __( 'Gb\'s Logo', 'gb_logo' ),
'section' => 'gb_logo_section',
'settings' => 'gb_logo',
) ) );
}
add_action('customize_register', 'gb_theme_customizer');
Это было сделано путем копирования функции темы по умолчанию adamos_theme_customizer, которая все еще находится выше этой (мне нужны обе функции).
Для вызова функции я использовал следующий код:
<!--TEST-->
<?php if ( get_theme_mod('gb_logo') ) : ?>
<div class="test">
<img src="<?php echo get_theme_mod( 'gb_logo' ); ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>">
</div>
<?php endif; ?>
<br />
This function actually doesn't work and I don't really know why, because if I try to load images it works (they're loaded, but neither this way are shown). Trying some debugging (see the code below) I found that with get_theme_mod WordPress thinks that gb_logo is a boolean variable.
<div id="test" style="border: 2px solid black"><?php $mods = get_option('gb_logo');
var_dump($mods);?></div>
Есть идеи о том, как это исправить?