- Statut : non résolu
- Ce sujet contient 6 réponses, 2 participants et a été mis à jour pour la dernière fois par yannux, le il y a 17 années et 2 mois.
-
AuteurMessages
-
16 juin 2007 à 11 h 53 min #452625
Bonjour,
Wordpress 2.2 Fr
theme classic retravaillé pour en faire un autre 🙂
site: http://www.lescreoles.comProblème utilisation de WP-forum à intégrer dans une page. Seulement tout ce qui est mis dans une page est encapsulé dans
<p></p>
.
Ce qui donne un joli<p><div....><table et autres balises usine à gaz></table></div></p>
Un seul sujet traite de the_content ici et il ne m’aide pas.
Comment retirer cette balise P « uniquement » sur une page parmi d’autres, idéalement une fonction pour l’enlever sur plusieurs pages sélectionnées. Fonction ou hack bien entendu, un If(page = id1 OR page=id2…) me suffirait mais je ne connais pas le mot clef à utiliser, peut être the_ID mais j’ai peur qu’un id puisse « bouger » si qqun édite mes pages et change leur hiérarchie, ce qui rendrait cette méthode de sélection très inefficace à long terme.
Je fais ce que je peux pour nettoyer le code de WordPress pour faire honneur au xhtml Strict car c’est pas encore ça, mais ce P qui englobe une div… nonononono. dure à trouver:D
Vous avez tout suivi la ? 😉
NB: j’utilise évidement une page.php créé pour l’occasion dans le theme classic pour simplifier le code des pages. the_content résiste pourtant à l’envahisseur… Pourtant j’ai localisé le fichier ou sont définis the_content() et get_the_content() (un truc comme ça) mais impossible de trouver ces
sûrement ailleurs, pas loin mais j’en peut plus la je vais au dodo.
Merci et à demain.
16 juin 2007 à 13 h 07 min #602901Le seul code qu’il y a dans ma page forum vierge est un inséré en mode code par l’admin.
Aucun retour à la ligne. Mais WordPress met desautour d’une phrase même si c’est la seule qui est présente dans une page. Pour autant en mode code, ces
n’apparaissent pas… donc impossible de les virer par l’admin. Pour le reste je code directement du php dans des fichiers, je contrôle tout a fait ce que je fais moi même.
La gestion de page, enfin la création de Pages dans l’admin provoque l’encapsulation de fait de tout contenu entre balise
La création d’une page vierge provoque de fait l’apparition d’un
seul, ce qui n’est pas gênant, mais pour autant je n’ai jamais demandé un
dan sma page. Il y a des chose que l’utilisateur ne contrôle pas c’est comme ça.
Si tu arrive à créer un epage avec 2 mots sans aucun encapsulation d’office par des, je veux bien ta recette.
Le mode code de l’administration des pages ne permet pas de voir le code html généré dans sa totalité (enfin pas sur mon wordpress 2.2 fraîchement installé). Il permet uniquement de voir des ul li ol et autres balises pratique de la barre de création.Pour être plus clair si sur ton wordpress la création d’une page avec 2 phrases séparés par 2 sauts de lignes t’affiche en mode code des
, chez moi ce mode m’affiche exactement la même chose qu’en mode visuel. Il m’est impossible de contrôler quoi que ce soit. Peut être me faudrait-il un plugin pour rendre la création de page par admin en mode code parfaitement maîtrisable, mais ça fait un peu bourrin juste pour rendre cette « encapsulation automatique » non automatique en fonction d’un paramètre (le titre ou l’id d’une page).
Toute solution sera la bien venue
Merci à toi pour ta proposition.
Je ne suis pas un débutant en xhtml, j’ai l’habitude de corriger des cms, oscss en ce moment et autres blogs. ces petits problèmes arrivent souvent, rien de dramatique. Juste pour me situer un peu, pour pas que l’on interprète ce sujet comme celui de qqun qui ne sait pas pourquoi wordpress fait cet encapsulation automatique elle est bien pratique pour les débutants qui peuvent ainsi faire leur article et pages !Voila retour à la case départ.
16 juin 2007 à 13 h 25 min #6029025 seconde plus tard.
Aaxane ton post m’a donné une idée, peut être que WP « lit » avant d’encapsuler ?
je viens d’essayer une page neuve avec en mode code :<div>bla bla</div>
et la il ne rajoute pas de
! balaise WP ! je n’ai pas testé avec d’autre style de balise mais tout est possible…
Du coup pour mon problème que je résume comme ceci pour les autres utilisateurs :Si vous utilisez un plugin qui s’insert par la création d’une PAGE qui contient uniquement un metamot (exemple de WP-Forum : <!-- WPFORUM--> ) il est fort à parier que ce plugin se compose de balise <div> <table> ou autre. Si vous êtes victime de balise <p> qui entourent le code propre de votre plugin (une fois publié regarder le code de votre page juste après le titre <h2>titre de votre page</h2>), ajoutez simplement des divs !
votre page en mode code se crée donc comme ça: <div id="un_id"><!--VOTRE PLUGIN--></div> et voila.
Il pourra etre utile d’aller dans votre fichier plugin supprimer la div suivante qui fait doublons du coup. Je vous laisse faire.17 juin 2007 à 0 h 52 min #602903Et en plus je me trompe de forum puisque c’est bien de WordPress 2.2 qu’il s’agit
26 juin 2007 à 13 h 51 min #602904J’ai eu le même genre de problème pour des posts qui commencent par une image, sans balises p ou div autour, wordpress l’entoure.
Pour résoudre le problème :Fichier : wp-includes/formatting.php
Fonction: L54. wpautop()A la ligne 58 on a une list de balises autorisés
$allblocks = ‘(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|map|area|blockquote|address|math|style|input|p|h[1-6]|hr)’;
A la ligne 67 une regexp qui met des p autour des balises qui ne sont pas dans ces mêmes balises autorisées.
$pee = preg_replace(‘!<p>s*(]*>)s*</p>!’, « $1 », $pee); // don’t pee all over a tag
On rajoute |img dans la variable $allblocks
$allblocks = ‘(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|map|area|blockquote|address|math|style|input|p|h[1-6]|hr|img)’;
Si vous avez mieux je suis preneur 🙂
Le problème c’est qu’il faut refaire la manip à chaque mise à jour26 juin 2007 à 21 h 23 min #602905Très fort Yannux, je note.
27 juin 2007 à 8 h 08 min #602906 -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.