0

「カスタマイズ」パネルから新しい画像を変更/ロードできるようにするためのカスタム関数を作成しようとしています (これは、Web サイトを管理するのは私ではないため、作成しようとしています)。できるだけ簡単に)。

デフォルトで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 />

この関数は実際には機能せず、その理由はよくわかりません。画像を読み込もうとすると機能するからです (画像は読み込まれますが、この方法は表示されません)。いくつかのデバッグを試みました (以下のコードを参照) 。

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

これを修正する方法について何か考えはありますか?

4

0 に答える 0