Soporte » WordPress Avanzado » Custom background responsive en el personalizador

  • Resuelto Aitor Méndez

    (@aitormendez)


    He añadido la funcionalidad de personalizar, con una imagen, el fondo del body en el personalizador:

    
         $defaults = array(
         	'default-color'          => '',
         	'default-image'          => '',
         	'default-repeat'         => 'repeat',
         	'default-position-x'     => 'left',
            'default-position-y'     => 'top',
            'default-size'           => 'cover',
         	'default-attachment'     => 'fixed',
         	'wp-head-callback'       => '_custom_background_cb',
         	'admin-head-callback'    => '',
         	'admin-preview-callback' => ''
         );
         add_theme_support( 'custom-background', $defaults );

    El problema que tengo es que la imagen de fondo debe tener 1900px de ancho para las pantallas grandes (1.2mb = 188ms), y me gustaría usar los image-sizes predefinidos en WP para viewports más pequeños (de la misma forma que se hace con srcset).

    Es decir, ¿Hay posibilidad de implementar CSS media queries en este personalizador? ¿O alguna otra forma de cargar la imagen de fondo más pequeña posible según el viewport?

    Muchas gracias.

Viendo 3 respuestas - 1 de 3 (de 3 total)
  • Buenas,

    Tu respuesta la tienes en el mismo codigo de ejemplo que pusistes.
    Concretamente _custom_background_cb esa function se encarga de crear el css segun los valores existentes.
    Aqui puedes ver el codigo: https://developer.wordpress.org/reference/functions/_custom_background_cb/

    Asi que puedes crear tu propio callback y añadir los media queries.
    Como el usuario cuando suba una imagen se crearian los diferentres tamaños definidos, podrias usar:
    attachment_url_to_postid para recibir el Post ID y despues wp_get_attachment_image_url para recibir el tamaño deseado para cada media.

    Igualmente 1.2mb para una imagen es muy elevado, tendrias que optimizar la imagen o imagenes de la web, yo mas de 600KB ya las considero que tiene un peso excesivo.

    Saludos

    Mil gracias, @kallookoo! Eres un acha. Con esto ya tengo para empezar.

    • Esta respuesta fue modificada hace 7 meses, 1 semana por  Aitor Méndez.

    De nada, solo intento ayudar en lo que pueda.

Viendo 3 respuestas - 1 de 3 (de 3 total)
  • El debate ‘Custom background responsive en el personalizador’ está cerrado a nuevas respuestas.