Пользовательская функция для добавления вторичного логотипа

Я пытаюсь создать пользовательскую функцию, чтобы иметь возможность изменять / загружать новое изображение с панели «Настройка» (это потому, что я не буду управлять сайтом, поэтому я пытаюсь что-то сделать как можно проще).

Я использовал по умолчанию тему 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 />

Эта функция на самом деле не работает, и я не знаю почему, потому что, если я пытаюсь загрузить изображения, она работает (они загружены, но ни один из этих способов не показан). Попробовав некоторую отладку (см. Код ниже), я обнаружил, что с get_theme_mod WordPress считает, что gb_logo является логической переменной.

<div id="test" style="border: 2px solid black"><?php $mods = get_option('gb_logo');
var_dump($mods);?></div>

Есть идеи о том, как это исправить?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]