Wordpress retire les données structurées de mon code

Olivier Duffez (admin)
Membre du personnel
Sur Wordpress, je m'embête à intégrer à la main des données structurées dans mon code HTML * et je constate que quand je bascule de l'édition du post du mode Texte au mode Visuel, Wordpress nettoie tellement bien le code qu'il retire tous mes span itemscope itemtype et assimilés.

Je m'y prends mal ? Merci d'avance pour vos suggestions !

* car je n'ai pas encore trouvé de bon plugin pour ça, n'hésitez pas à m'en indiquer qui en intègre au sein du texte et pas sous forme d'ajout de tableau comme "All In One Schema.org Rich Snippets" ou "Schema Creator by Raven". Mon rêve serait d'avoir quelques boutons, pour les principaux schémas : je sélectionne par exemple le texte "Sergei Brin" dans mon post, puis je clique sur le bouton "Personne", puis je remplis éventuellement les champs optionnels dans un pop-up, et ça m'intègre les données structurées au sein du texte, sans que Wordpress le bousille après coup.
 
WRInaute accro
Il est en effet possible que l'éditeur que tu utilises (le natif ? une surcouche jQuery) cleane la zone de texte.

Perso, les données structurées sont gérées au niveau des différents templates, ce qui me semble autrement plus propre que d'intégrer ça directement dans la zone de contenu.
 
WRInaute accro
Avec TinyMce advanced et son option "disable removing" ça ne me le fait pas.
Es tu connecté en admin ?

Sinon, l'option c'est d'utiliser un shortcode qui le fasse genre [snippet type="personne"]Sergei Brin[/snippet]

ça correspondrait à ton besoin
 
Olivier Duffez (admin)
Membre du personnel
Merci pour vos réponses.

oui j'étais connecté en admin
je n'utilisais pas TinyMce advanced. J'ai testé et avec son option disable removing, je ne m'en sors pas avec tous les <p> et </p>, je préfère remettre comme avant.
à propos de TinyMce advanced : ça semble bien mais en pratique, tu l'utilises pour quoi exactement ?

rappelle-moi quel code il faudrait mettre (dans functions.php ?) pour gérer ce shortcode ?
 
WRInaute accro
Je l'utilise pour avoir une barre de bouton personnalisée qui correspond à ce que j'utilise vraiment, en virant ce qui est inutile.

Si tu as trop de <p> c'est sans doute ton thème le fautif

Pour le shortcode, tu fais une fonction php normale qui renvoie la chaine à afficher en fonction des paramètres, tu ajoutes le shortcode http://codex.wordpress.org/Function_Reference/add_shortcode qui utilise la fonction
 
Nouveau WRInaute
Il faut savoir que l'éditeur wysiwyg de wordpress possède un filtre de balise afin que l'on n'utilise pas de balise non standard.

Pour modifier ce filtre il faut éditer le fichier kses.php qui se trouve dans le dossier wp-include.

Code:
'p' => array(
'class' => true,
'align' => true,
'dir' => true,
'lang' => true,
'style' => true,
'xml:lang' => true,
),

en

Code:
'p' => array(
'class' => true,
'align' => true,
'dir' => true,
'lang' => true,
'style' => true,
'xml:lang' => true,
'itemscope' => true,
),

Il faut ajouter la ligne 'itemscope' => true, 'itemtype' => true,'itemid' => true,'itemref' => true, en dessous des balises de structure de type bloc: <div>, <aside>, <caption>, <nav>, <article> et <section>

Puis d’ajouter la ligne 'itemscope' => true, en dessous des balises de type inline: <a>, <p>, <span>, <img>, <abbr>, <cite>, <quote>….

Puis enregister, ainsi l'éditeur ne devrait autoriser tes balises ;)

Par contre petit bémol, a chaque mise à jour du core de wordpress, ce fichier sera écrasé, il convient donc de garder une copie en local pour les futures MAJ.
 
Olivier Duffez (admin)
Membre du personnel
Merci bnow, mais je préfère ne pas toucher au coeur... J'ai oublié de remercier Marie-Aude pour sa réponse, j'ai choisi la méthode des shortcodes
 
WRInaute accro
Sachant que pour faire plus propre, bnow, il doit être possible de faire un override du filtre depuis functions.php, ce qu'il faut préférer à une modification des fichiers du coeur de WP.
 
Nouveau WRInaute
Sa réponse est intéressante, je n'avais jamais réussit à appliquer une solution propre à ce soucis.
Merci :)
 
Olivier Duffez (admin)
Membre du personnel
pour ma part, je n'ai pas fait une surchage du filtre (comme le propose UsagiYojimbo) car je ne sais pas le faire
j'ai fait un shortcode pour ajouter un code particulier dans mon code HTML, sans que l'éditeur de WP me le retire
 
Discussions similaires
Haut