J'ai ajouté un crochet à the_content
.
add_filter('the_content', 'edit_the_content');
function edit_the_content($content){
return $content;
}
Assez simple non?
Cependant, lorsqu’il affiche $content
depuis mon rappel edit_the_content()
, il semble que WordPress convertisse certains caractères, mais pas tous, en caractères spéciaux.
Exemple:
c'est = it’s
mais alors une balise d'ancrage reste intacte et non convertie.
Existe-t-il une sorte de filtre qui fonctionne sur the_content
qui ne convertit que certains caractères en caractères spéciaux, mais pas tous?
En utilisant un extrait de code comme ceci :
$hook_name = 'the_content';
global $wp_filter;
var_dump($wp_filter[$hook_name]);
J'ai pu trouver une liste de toutes les fonctions de rappel accrochées au filtre WordPress: the_content
.
J'ai ensuite localisé quelques coupables possibles, puis cherché leur existence.
Après avoir réduit ma liste, je suis parvenu à la conclusion sur la fonction de rappel accrochée à l'origine du problème.
Dans le fichier ./wp-includes/default-filters.php
sur ligne 135 à partir de WordPress 3.6 , il existe une fonction raccordée add_filter('the_content', 'wptexturize');
Dans le fichier ./wp-includes/formatting.php
sur ligne 29 à partir de WordPress 3.6 se trouve la définition de la fonction de wptexturize()
.
/**
* Replaces common plain text characters into formatted entities
*
* As an example,
* <code>
* 'cause today's effort makes it worth tomorrow's "holiday"...
* </code>
* Becomes:
* <code>
* ’cause today’s effort makes it worth tomorrow’s “holiday”…
* </code>
* Code within certain html blocks are skipped.
*
* @since 0.71
* @uses $wp_cockneyreplace Array of formatted entities for certain common phrases
*
* @param string $text The text to be formatted
* @return string The string replaced with html entities
*/
Comment empêcher WordPress de formater des caractères the_content
en entités HTML?
remove_filter('the_content', 'wptexturize');
Leçon apprise. En utilisant cet extrait de code au début de cette réponse, vous pourrez ... au minimum, trouver toutes les fonctions de rappel attachées à un hook WordPress particulier. Ce qui est un bon début, le reste peut prendre un peu de recherche et de lire ce que fait chaque fonction de rappel.