맞춤 설정 도구의 맞춤 이미지 섹션


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>태그 내부의 첫 페이지에 코드를 추가해야한다는 것을 알고 있지만 무엇을 모르겠습니다 : /

나는 내가 가지고있는 것이 일을하는 데 오래 걸리는 방법이라고 생각하지만 쉬운 방법이 있다면 그 방향으로 나를 가리켜 주셔서 감사합니다 :)

도움을 주셔서 감사합니다

사이드 노트 : 내 front-page.php :

<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');
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.