Customizer में कस्टम छवि अनुभाग


9

इसलिए मेरे पास कस्टमाइज़र में यह कस्टम सेक्शन है जो होम पेज पर फ़ीचर उत्पादों को नियंत्रित करता है। सभी पंजीकृत और इसी तरह, लेकिन मैं जिस समस्या पर अटका हुआ हूं वह तब है जब ग्राहक एक ऐसी सुविधा छवि अपलोड करता है जिसे मैं नहीं जानता कि इसे कैसे अपडेट किया जाए।

functions.php कोड मैं साथ काम कर रहा हूं:

    // 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 उत्पादों को एक ही डिफ़ॉल्ट छवि के लिए सेट किया है, लेकिन जब मैं कस्टमाइज़र में जाता हूं और अपडेट Feature Product #2करता हूं तो यह बिल्कुल भी अपडेट नहीं होता है।

मुझे पता है कि मुझे <img>टैग के अंदर फ्रंट-पेज में कुछ कोड जोड़ने की आवश्यकता है लेकिन मुझे नहीं पता कि क्या: /

मुझे लगता है कि मेरे पास जो कुछ है वह चीजों को करने के लिए एक लंबा घुमावदार तरीका है, लेकिन यह वही है जो मुझे काम कर रहा है, अगर कोई आसान तरीका है तो मैं आपको उस दिशा में इशारा करने की सराहना करूंगा :)

मैं किसी भी मदद की सराहना करता हूं

साइड नोट : मेरा फ्रंट पेज-एफपी :

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

जवाबों:


11

इसलिए मैंने मामले पर कुछ शोध किया और मुझे एक समाधान मिला। मूल रूप से वर्डप्रेस में यह शांत सुविधा है जहां आप कुछ कह सकते हैं, get_theme_modजो कि मैंने अनिवार्य रूप से किया था, get_theme_modमेरे अंदर जोड़ दिया गया था <img> src

तो यह वही <img>है जिसके बारे में जानने के बाद मैंने अपना टैग बदल दिया get_theme_mod:

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

असल में यह क्या किया गया था और यह सामग्री का उत्पादन किया गया था $wp_customize->add_setting('customizer-setting-name')। हालाँकि मुझे default-imageकस्टमाइज़र के भीतर लगाने का अभी तक कोई रास्ता नहीं मिला है लेकिन जब मैं ऐसा करूँगा तो मैं इस पोस्ट को अपडेट करूँगा।

यह मेरी customizer.phpफ़ाइल अब कैसी दिखती है:

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');
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.