Editorul elimină tag-urile <p>
Cum pot opri editorul să elimine tag-urile mele <p>
și div-urile "goale ( )" de pe pagini?
Din moment ce @scribu a cerut un exemplu de cod, iată-l:
Input:
<p>text</p>
<div> </div>
Output:
text

Am avut probleme cu TinyMCE Advanced. M-am luptat cu asta pentru o vreme. În final am descoperit o soluție simplă - Folosește Shortcodes!
Pune acest cod în functions.php și introdu [br] oriunde dorești să apară un tag br.
add_shortcode("br", "br_tag");
function br_tag(){
return("<br/>");
}

1) Încercați câteva plugin-uri diferite care dezactivează formatarea și opresc eliminarea paragrafelor și spațiilor albe în exces din WordPress: http://wordpress.org/extend/plugins/search.php?q=formatting&sort=
2) Puteți păcăli WordPress să adauge un salt de paragraf folosind <b> </b>
în editorul HTML. Este un spațiu neruptibil în tag-uri <b>
. Nu îl veți putea vedea în editorul vizual, așa că adăugați-l în editorul HTML. Este o soluție urâtă, dar funcționează fără a fi nevoie să dezactivați complet formatarea.
3) De asemenea, puteți face acest lucru în fișierul functions.php și apoi să înfășurați textul pe care nu doriți să-l formatați cu tag-urile <!-- noformat on -->
și <!-- noformat off -->
.
function newautop($text)
{
$newtext = "";
$pos = 0;
$tags = array('<!-- noformat on -->', '<!-- noformat off -->');
$status = 0;
while (!(($newpos = strpos($text, $tags[$status], $pos)) === FALSE))
{
$sub = substr($text, $pos, $newpos-$pos);
if ($status)
$newtext .= $sub;
else
$newtext .= convert_chars(wptexturize(wpautop($sub))); //Aplică ambele funcții (mai rapid)
$pos = $newpos+strlen($tags[$status]);
$status = $status?0:1;
}
$sub = substr($text, $pos, strlen($text)-$pos);
if ($status)
$newtext .= $sub;
else
$newtext .= convert_chars(wptexturize(wpautop($sub))); //Aplică ambele funcții (mai rapid)
//Pentru a elimina tag-urile
$newtext = str_replace($tags[0], "", $newtext);
$newtext = str_replace($tags[1], "", $newtext);
return $newtext;
}
function newtexturize($text)
{
return $text;
}
function new_convert_chars($text)
{
return $text;
}
remove_filter('the_content', 'wpautop');
add_filter('the_content', 'newautop');
remove_filter('the_content', 'wptexturize');
add_filter('the_content', 'newtexturize');
remove_filter('the_content', 'convert_chars');
add_filter('the_content', 'new_convert_chars');

Știu că acesta este un forum destul de vechi... am dat peste multe discuții pe această temă a editorului vizual care elimină tag-urile la comutarea între file... Pur și simplu am urmat acest link: http://rubayathasan.com/reviews/enabling-line-break-in-wordpress/#comment-1349250
și am instalat TinyMCE Advanced... totul funcționează perfect și acum am mai multe opțiuni pe care le pot adăuga în editorul meu vizual.

Este o întrebare mai veche, dar acest lucru v-ar putea ajuta pe voi sau pe altcineva pentru o parte din problemă:
add_filter('wp_insert_post_data', function ($data, $postarr) {
$data['post_content'] = wpautop($data['post_content']);
return $data;
}, 10, 2);
Acest cod adaugă tag-urile de paragraf înainte de salvarea conținutului. Și, desigur, editorul în continuare înțelege cum să-l proceseze ;)
Nu vă poate ajuta cu
, dar vă puteți întreba dacă acestea sunt necesare și poate puteți rezolva problema cu CSS? Doar încerc să ajut. Sau puteți folosi soluția alternativă (<b> <b/>
) explicată de @markratledge
