web-dev-qa-db-ger.com

Verwenden Sie die Datei functions.php des untergeordneten Themas, um die Datei customizer.php des übergeordneten Themas zu ändern

Ich versuche, der customizer.php des übergeordneten Themas eine zweite Logo-Option hinzuzufügen, indem ich die functions.php des untergeordneten Themas verwende. Ich erhalte jedoch einen internen Serverfehler von 500. Was mache ich falsch?

Dies ist der Code der Datei customizer.php im Ordner "extend" des übergeordneten Themas.

function j007_customize_register( $wp_customize ) {
/* Logo */

$wp_customize->add_setting( 'logo', array(
  'type' => 'theme_mod', // or 'option'
  'capability' => 'edit_theme_options',
  'theme_supports' => '', // Rarely needed.
  'default' => '',
  'transport' => 'refresh', // or postMessage
  'sanitize_callback' => 'j007_fun_sanitize_callback' // Get function name 

) );

$wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'logo', array(
    'label'    => esc_html__( 'Logo', 'em4u' ),
    'section'  => 'header_section',
    'settings' => 'logo'
)));

}

function j007_fun_sanitize_callback($value){
return $value;
}

add_action( 'customize_register', 'j007_customize_register' );

Und das ist der Code, den ich für die functions.php des untergeordneten Themas verwende

// Add alternative logo
function j007_customize_register( $wp_customize )
{
$wp_customize->add_setting( 'logo_alt', array(
    'type' => 'theme_mod', // or 'option'
    'capability' => 'edit_theme_options',
    'theme_supports' => '', // Rarely needed.
    'default' => '',
    'transport' => 'refresh', // or postMessage
    'sanitize_callback' => 'j007_fun_sanitize_callback' // Get function name 

  ) );

$wp_customize->add_control(
    new WP_Customize_Image_Control(
        $wp_customize,
        'logo_alt',
        array(
            'label' => esc_html__( 'Logo', 'j007' ),
            'section'  => 'header_section',
            'settings' => 'logo_alt'
        )
    )
);
}
add_action( 'customize_register', 'j007_customize_register' );
3
Duarte Nunes

Gib diesen Code in function.php ein. Erstelle einen benutzerdefinierten Bereich im Customizer für das Logo:

<?php
add_action('customize_register', 'theme_footer_customizer');
function theme_footer_customizer($wp_customize){
    //adding section in wordpress customizer   
    $wp_customize->add_section('footer_settings_section', array(
      'title'          => 'Footer Text Section'
    ));
    //adding setting for footer logo
    $wp_customize->add_setting('footer_logo');
    $wp_customize->add_control(new WP_Customize_Upload_Control($wp_customize,'footer_logo',array(
     'label'      => 'Footer Logo',
     'section'    => 'footer_settings_section',
     'settings'   => 'footer_logo',
     ))); 
}
1
Jignesh Patel