- Statut : non résolu
- Ce sujet contient 11 réponses, 5 participants et a été mis à jour pour la dernière fois par Lumiere de Lune, le il y a 12 années et 7 mois.
-
AuteurMessages
-
25 janvier 2012 à 20 h 42 min #504768
Bonjour,
Ma configuration WP actuelle
– Version de WordPress : 3.3.1
– Version de PHP/MySQL : 5.xx
– Thème utilisé : from scratch
– Extensions en place : askimet…
– Nom de l’hebergeur : webhosting
– Adresse du site : pas disponibleProblème(s) rencontré(s) :
j’ai un espacement mystique (systématiquement 18px !) à chaque fois que je fais une inclusion de fichier (include_once ou get_footer()😉
c ma conclusion apres avoir retourné le pb dans tous les sens
si je met une div test avant mon inclusion, elle se positionne correctement, mais depuis l’inclusion nonj’ai bien evidemment controlé, vérifié les css plusieurs fois
mis des « margin: 0; padding: 0; vertical-align: top; border:none; border:0; » de base mais répétés également sur les div qui se positionnent malle code source de la page interprétée n’indique aucun
intempestif qui se serait rajouté inopinément.j’ai misé sur un doctype qui serait pas bien interprété et l’ai retiré complètement, pas plus de succes !
j’en appelle à vous car je n’ai plus d’idée de nouveaux tests pour régulariser ce souci
avez vous deja rencontré ce problème ?
comment le résoudre ? (cela m’embeterait bcp de devoir tout écrire plusieurs fois dans chaque template de page pour ne pas à utiliser les inclusions)merci d’avance de vos solutions ou piste de test pour m’aider à résoudre ce probleme très embêtant
25 janvier 2012 à 20 h 54 min #812500Ça alors !!! include_once provoque une espacement vertical dans le code HTML généré coté client, faut tout de suite appeler M. PHP.
Te dire que je l’ai déjà constaté serait un gros mensonge, mais te dire que j’ai déjà eu des bugs, oui ça c’est vrai, et ce que tu décris a tout l’air de ressembler à un gros bug.
Pour t’aider par contre, cela va être un peu plus problématique, pas de thème, pas d’adresse pour visualiser, je crains de ne pas pouvoir faire grand chose
26 janvier 2012 à 6 h 56 min #812501Il me semble que tu mets sur le même plan 2 choses distinctes ; include_once() qui est une fonction native PHP et get_footer() qui est une fonction WordPress. Include_once() n’est pas destiné à gérer l’affichage mais à l’inclusion de fichier PHP alors que get_footer() est lui en revanche destiner à gérer spécifiquement l’affichage du code HTML du footer.
Si il y a un bug d’inclusion avec get_footer(), tu devrais également avoir le problème avec les get_header() et get_content() non ?
Je pense également que le code PHP serait intéressant pour voir ce qui génère le problème.
26 janvier 2012 à 10 h 17 min #812502j’ai également un espace de 18px dans le body (juste apres le get_header(), mais je ne vois pas comment le placer differement)
bon les gars, j’aurais besoin de vos lumières pour les bonnes pratiques de ces inclusions svp
car je ne crois pas avoir fait d’innovation ! signalez le moi si ce n’est pas le cas ! 😉
exemple :
page.php
…
/* html et body dans le get_header */
<div id="divPage">
<!-- logo -->
</div>logoBanner.php
<div id="logoBan">
<div id="logoPlace">
footer.php
<div id="divFilet"></div>
<div id="divB">
…css
* {
background: transparent;
margin: 0; padding: 0;
border:none; border:0;
vertical-align: top;
}
html {margin: 0; padding: 0; vertical-align: top;}
div {margin: 0; padding: 0; vertical-align: top;}
body {margin: 0; padding: 0; vertical-align: top; border:none; border:0;}
#divPage {margin: 0; padding: 0; vertical-align: top; border:none; border:0;
background-color: #e8e8e8;
width:940px;
margin: 0 auto;
}
#logoBan{height:40px; padding: 0 30px; margin:0px;}
#divFilet { margin: 0; padding: 0; vertical-align: top; border:none; border:0;
width:100%; height:9px;
background-color: #555555;
}
#divB {margin: 0; padding: 0; vertical-align: top; border:none; border:0;
width:100%;
background-color: #323232;
}pour le footer : la 1ere div se positionne 18px trop bas !
la 2e est okcomme j’ai expliqué, j’ai doublé, triplé les « margin: 0; padding: 0;… » pour tenter de résoudre le pb
mais il y a soit un css ailleurs de ma propre feuille
soit un bug avec les inclusionsj’aurais nécessité de piste de test pour résoudre cela
un rappel aussi des bonnes pratiques d’inclusion afin de revérifier la façon dont je l’ai fait (encodage, tag particulier ??!! etc)
dois je retirer toute div de mes fichiers inclus ? (bonjour l’inutilité alors !)j’attend vos lumières
merci d’avance 🙂26 janvier 2012 à 21 h 05 min #812499Le problème des css c’est qu’il y en a beaucoup, partout et qu’en plus il peuvent hériter d’un autre. Pas simple pour les débugger.
dois je retirer toute div de mes fichiers inclus ? (bonjour l’inutilité alors !)
Je pense que la façon de faire n’est pas très propre. Pourquoi ne pas faire une fonction get_logo_banner() qui ferait l’affichage du code plutôt que d’utiliser un include ?
26 janvier 2012 à 23 h 30 min #812503le get_footer() me colle aussi 18px dans les dents ! 😉
(oui bcp de css mais le div direct dans page.php se positionne correctement, le mm div depuis un include_once() ou get_footer() a un espacement => est ce vraiment un pb de css ??)
vos idées , vos paramètres/procédures pour les inclusions de fichier svp 🙂
27 janvier 2012 à 7 h 43 min #812504Avec le thème par défaut y a t il ce décalage sur les include?
Si oui, ben ton PHP a un sérieux problème, sinon, c’est ton code qu’il faut revoir.Il existe pleins d’outils de débuggage permettant d’inspecter le code généré, si tu ne trouves rien, reprends ton code depuis le début et trouve à partir de quel moment ce décalage apparait.
Une petite remarque: faire son thème à partir de rien est satisfaisant pour l’esprit et son prestige personnel, mais prend souvent beaucoup plus de temps, comporte beaucoup plus d’erreurs que de prendre un thème simple validé par des milliers d’utilisateurs et qu’il est extrêmement facile de modifier.
27 janvier 2012 à 10 h 48 min #812505chouf > j’ai lu et pas trouvé de quoi résoudre mon souci
Guy > 1) que conseilles tu comme thèmes éprouvés ? il y en a t il d’autres que twentyeleven ?
2) piste fort intéressante de tester et faire des include depuis un theme par défaut
et malheureusement, en effet, si je fais un include depuis twentyeleven, je retrouve cet espacement vertical non vouluargheuh
donc , les personnes hébergées chez webhosting, retrouvez vous ce pb ?
et que puis je bricoler pour tenter de modifier des options php ? et surtout lesquelles pourraient créer ce décalage vertical ?on avance, on avance, mm si ça bug tjs !!
😋27 janvier 2012 à 10 h 54 min #812506met un lien permettant de voir le problème
28 janvier 2012 à 14 h 09 min #812507chouf1 > 1) non, ce n’est pas une double copie fantome du divFilet
2) testé une page expurgée de tout avec juste un include, le pb est tjs làj’ai fait encore plein de test, en désactivant toutes les extensions et en mettant un fichier functions.php completement vide => pas mieux
je crois qu’il ne me reste plus qu’à tester ailleurs !
auriez vous svp des adresses d’hébergeurs gratos dont vous etes surs du fonctionnement afin que je teste chez eux (ici ou en mp comme bon vous semble !) ?
😉9 mars 2012 à 10 h 23 min #812508Salut,
En consultant la doc’ ( http://codex.wordpress.org/Function_Reference/get_footer ), j’ai vu qu’on pouvait passer un paramètre à get_footer() (par exemple :
get_footer(‘home’);
en ayant un fichier footer-home.php).
J’ai testé, pour voir. J’ai donc copié le contenu de mon footer.php et l’ai collé dans footer-home.php.
Et il s’avère que le drôle d’espacement s’est fait la malle.Comme il s’agissait d’un bug, je ne suis pas sûr que le problème soit résolu pour tout le monde. En plus, c’est chiant de devoir modifier ses appels à get_footer(). Mais bon, ça peut intéresser.
.
9 mars 2012 à 16 h 53 min #812509tu as bien sûr vérifié le contenu des fichiers que tu inclus ?
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.