web-dev-qa-db-fra.com

Ajouter un arrière-plan personnalisé à la page d'accueil

Je souhaite avoir une image sélectionnée sur une div spécifique sur la page d’accueil, qui pourrait être modifiée dans le personnaliseur. J'ai vu dans la documentation un arrière-plan personnalisé pour body ( https://codex.wordpress.org/Custom_Backgrounds ) Mais je veux le faire pour un div spécifique, par exemple. #featured-home-image. Comment?

$args = array(
    'default-color' => '000000',
    'default-image' => '%1$s/images/background.jpg',
);
add_theme_support( 'custom-background', $args );
4
Emir Dupovac

Utilisez l'argument wp-head-callback pour spécifier votre propre gestionnaire:

add_theme_support( 'custom-background', array(
    'wp-head-callback' => 'wpse_189361_custom_background_cb',
    'default-color'    => '000000',
    'default-image'    => '%1$s/images/background.jpg',
));

function wpse_189361_custom_background_cb() {
    ob_start();

    _custom_background_cb(); // Default handler

    $style = ob_get_clean();
    $style = str_replace( 'body.custom-background', '#featured-home-image', $style );

    echo $style;
}
4
TheDeadMedic