Problema con l'output del testo in WordPress ('esc_html' & 'wp_richedit_pre')
Ho un problema con l'output del testo. Quando modifico il testo nel pannello di controllo di WordPress tutto appare normale:
https://i.sstatic.net/GaIut.png
ma quando lo visualizzo nell'html:
<?php esc_html( wp_richedit_pre( $_product->details ) ); ?>
Appare così:
https://i.sstatic.net/r81xE.png
Cosa potrebbe essere sbagliato? Grazie per l'aiuto.

Supponendo che $_product->details
contenga ciò che può essere definito come contenuto del post, e che contenga HTML, e tu voglia che quell'HTML venga renderizzato dal browser, allora stai sbagliando approccio.
Ti consiglio di consultare la funzione esc_html
e sperimentare con essa in una sandbox - scoprirai presto che ciò che fa la funzione (proprio come dice il Codex) è di escapare l'HTML, ovvero trasforma i caratteri speciali in entità HTML, in modo che questi caratteri vengano visualizzati come simboli e non interpretati dal tuo browser.
echo esc_html('<b>una stringa</b>'); // Produce <b>una stringa</b>
echo '<b>una stringa</b>'; // Produce <b>una stringa</b>
Quindi la risposta breve al tuo problema sembra essere - rimuovi la funzione esc_html
dall'output.

hmm ... strano. Ho guardato il file 'wp-includes/formatting.php' alla funzione wp_richedit_pre:
function wp_richedit_pre($text) {
// Filtrare un testo vuoto restituisce un fastidioso <br />\n
if ( empty($text) ) return apply_filters('richedit_pre', '');
$output = convert_chars($text);
$output = wpautop($output);
$output = htmlspecialchars($output, ENT_NOQUOTES);
return apply_filters('richedit_pre', $output);
}
Invece di 'wp_richedit_pre()' ho usato 'wpautop()' e funziona.
https://i.sstatic.net/Jiuiy.png
Grazie per il suggerimento Soulseekah.
