Özelleştiricide Özel Resim bölümü


9

Bu yüzden Özelleştiricide Ana Sayfadaki Özellik Ürünleri kontrol eden bu Özel Bölüm var. Orada tüm kayıtlı ve böylece ama takılıyorum sorun istemci nasıl güncelleme yapmak bilmiyorum özellik görüntü birini yüklediğinde.

fonksiyonları.php kodu ile çalışıyorum:

    // Customiser
function themeName_customize_register( $wp_customize ) {
    $wp_customize->add_setting('feature_product_one', array(
        'default-image' => get_template_directory_uri() . '/assest/imgs/featureProducts/product1.png',
        'transport'     => 'refresh',
        'height'        => 180,
        'width'        => 160,
    ));

    $wp_customize->add_setting('feature_product_two', array(
        'default-image' => get_template_directory_uri() . '/assest/imgs/featureProducts/product1.png',
        'transport'     => 'refresh',
        'height'        => 180,
        'width'        => 160,
    ));

    $wp_customize->add_setting('feature_product_three', array(
        'default-image' => get_template_directory_uri() . '/assest/imgs/featureProducts/product1.png',
        'transport'     => 'refresh',
        'height'        => 180,
        'width'        => 160,
    ));

    $wp_customize->add_setting('feature_product_four', array(
        'default-image' => get_template_directory_uri() . '/assest/imgs/featureProducts/product1.png',
        'transport'     => 'refresh',
        'height'        => 180,
        'width'        => 160,
    ));

    $wp_customize->add_section('feature_images', array(
        'title'           => __('Featured Products', 'themeRemax'),
        'description'     => __('Your 5 Feature Images on the Home-Page.'), 
        'priority'        => 70,
        'active_callback' => 'is_front_page',
    ));

    $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'feature_product_one_control', array(
        'label' => __('Feature Product #1', 'themeRemax'),
        'section' => 'feature_images',
        'settings' => 'feature_product_one',
    )));

    $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'feature_product_two_control', array(
        'label' => __('Feature Product #2', 'themeRemax'),
        'section' => 'feature_images',
        'settings' => 'feature_product_two',
    )));  

    $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'feature_product_three_control', array(
        'label' => __('Feature Product #3', 'themeRemax'),
        'section' => 'feature_images',
        'settings' => 'feature_product_three',
    )));

    $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'feature_product_four_control', array(
        'label' => __('Feature Product #4', 'themeRemax'),
        'section' => 'feature_images',
        'settings' => 'feature_product_four',
    )));     

}
add_action('customize_register', 'themeName_customize_register');

2 ürünü aynı varsayılan görüntüye sahip olarak ayarladım, ancak özelleştiriciye girip güncellediğimde Feature Product #2hiç güncellenmiyor.

<img>Etiketin içindeki ön sayfaya bazı kod eklemeniz gerektiğini biliyorum ama ne bilmiyorum: /

Yukarıda sahip olduğum şeyin bir şeyler yapmak için uzun soluklu bir yol olduğunu hissediyorum, ancak çalıştığım şey bu, eğer kolay bir yol varsa o zaman beni bu yöne işaret etmenizi takdir ediyorum :)

Herhangi bir yardım için teşekkür ederim

Yan Not : Ön sayfam.php :

<div class="featureImg">
    <img src="What goes here?" alt="Product 1">
    <img src="What goes here?" alt="Product 1">
</div>

Yanıtlar:


11

Böylece konuyla ilgili biraz araştırma yaptım ve bir çözüm buldum. Temelde WordPress denen bir çağırabilir bu havalı özelliği vardır get_theme_modne temelde yaptığı eklentiyi yüzden get_theme_modiçim <img> src.

Bu yüzden <img>öğrendikten sonra etiketimi değiştirdim get_theme_mod:

<img src="<?php echo esc_url( get_theme_mod( 'customizer-option-name' ) ); ?>" alt="Product 1">

Temel olarak bunun yaptığı, $wp_customize->add_setting('customizer-setting-name')içeriği alıp çıktı. Henüz default-imageözelleştirici içine koymak için bir yol bulamadım ama ben yaptığımda bu yazı güncelleyeceğim.

Benim customizer.phpdosya şimdi böyle görünüyor:

function themeName_customize_register( $wp_customize ) {

    // Add Settings
    $wp_customize->add_setting('customizer_setting_one', array(
        'transport'         => 'refresh',
        'height'         => 325,
    ));
    $wp_customize->add_setting('customizer_setting_two', array(
        'transport'         => 'refresh',
        'height'         => 325,
    ));

    // Add Section
    $wp_customize->add_section('slideshow', array(
        'title'             => __('Slider Images', 'name-theme'), 
        'priority'          => 70,
    ));    

    // Add Controls
    $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'customizer_setting_one_control', array(
        'label'             => __('Slider Image #1', 'name-theme'),
        'section'           => 'slideshow',
        'settings'          => 'customizer_setting_one',    
    )));
    $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'customizer_setting_two_control', array(
        'label'             => __('Slider Image #2', 'name-theme'),
        'section'           => 'slideshow',
        'settings'          => 'customizer_setting_two',
    )));    
}
add_action('customize_register', 'themeName_customize_register');
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.