8710 sujets

Développement web côté serveur, CMS

Bonjour,

Est-il possible en php de récupérer le background-image d'un élément ?

J'ai affecté des classes au <body> de sorte que l'image de fond puisse changer à chaque page.

Je voudrais pouvoir récupérer l'URL du background-image actif, afin de pouvoir la placer dans la balise opengraph de Facebook :

    <meta property="og:image" content="<?php  JE_NE_SAIS_PAS_COMMENT_RÉCUPÉRER_L'IMAGE?>" />


Merci de votre aide

body {margin: auto; background: black fixed no-repeat; background-size: 100%; background-position: center center;}

.page-id-11 {background-image: url(images/presentation.jpg);}
.page-id-52 {background-image: url(images/musiciens.jpg);}
.page-id-16, .single-event {background-image: url(images/concerts.jpg);}
.page-id-13 {background-image: url(images/sons.jpg);}
.page-id-5 {background-image: url(images/accueil.jpg);}
.blog, .single-post {background-image: url(images/actualites.jpg);}
.page-id-12 {background-image: url(images/videos.jpg);}
.page-id-14 {background-image: url(images/photos.jpg);}
.page-id-17 {background-image: url(images/presse.jpg);}
.page-id-18 {background-image: url(images/pro.jpg);}
.page-id-19, .page-id-130, .page-id-131, .page-id-132 {background-image: url(images/contact.jpg);}
.page-id-53 {background-image: url(images/artistes.jpg);}
Bonsoir,

Voici une idée pour votre balise opengraph. Dans l'idéal, votre tableau (généré via la table article de votre bdd par exemple) doit aussi générer le css du background.


$id = id de la page

$background = array(
    11 => 'images/presentation.jpg',
    52 => 'images/musiciens.jpg',
    16 => 'images/concerts.jpg',
);
if (array_key_exists($id, $background)) {
    echo '<meta property="og:image" content="http://wwww.domaine.com/'.$background[$id].'" />';
}
Merci pour cette proposition.

OK, en fait si je comprends, bien, il ne faut pas récupérer la valeur donnée par le fichier CSS, mais renseigner directement dans le script l'image à utiliser ?

Il faut donc que j'arrive à trouver le moyen d'afficher l'ID de la page, afin de pouvoir écrire correctement cette ligne.

$id = id de la page


Je ne suis pas arrivé à trouver sur la documentation de Wordpress la fonction dédiée.
Arnaud04 a écrit :
OK, en fait si je comprends, bien, il ne faut pas récupérer la valeur donnée par le fichier CSS, mais renseigner directement dans le script l'image à utiliser ?

Oui c'est cela. Il est en effet possible de récupérer cette valeur via javascript et de l'insérer dans ta balise meta (généré en javascript de préférence).
Arnaud04 a écrit :
Je ne suis pas arrivé à trouver sur la documentation de Wordpress la fonction dédiée.

$id     = get_queried_object_id();

Modifié par benj (20 Oct 2013 - 18:25)
Ça fonctionne impeccablement, un grand merci.
En effet, tant qu'à déclarer en php des balises opengraph, autant que ça renseigne par la même occasion mes styles (car là je les déclare manuellement dans ma feuille de style). Je vais me pencher là dessus.