Trecerea de la Editorul HTML la cel Vizual și Înapoi Șterge Complet Conținutul Paginii
Am o pagină (nu o postare de blog) pe care trebuie să embedez un iframe (pentru a "integra" catalogul de produse al unui serviciu extern). Am adăugat codul iframe în editorul HTML raw și am salvat pagina. Am vizualizat pagina, totul a funcționat.
M-am întors în editor și am trecut de la editorul HTML raw la cel Vizual, am adăugat o linie de text, apoi mi-am amintit că trebuie să adaug un atribut la codul iframe. Așa că am revenit la fila HTML raw.
Când am făcut acest lucru, postarea este complet goală. Tot ce am introdus în editor, fie în HTML raw sau nu, a fost șters și postarea este goală, ca și cum aș fi creat-o de la zero. A trebuit să revin la o versiune anterioară pentru a o recupera.
Până acum soluția a fost să dezactivez editorul Vizual, dar am un partener non-tehnic și aceasta nu este o soluție ideală pe termen lung.
Există vreo modalitate de a controla acest comportament al WordPress? Folosesc WordPress 3.1.1
Mulțumesc

Editorul WordPress are o gestionare slabă a iFrame-urilor sau a HTML-ului avansat când se trece între editorul HTML și cel Vizual (am întâlnit această problemă de multe ori).
Cea mai bună soluție este fie să adăugați un șablon de pagină (page-{id}.php) cu iframe-ul, fie să folosiți un plugin care adaugă shortcode-uri pentru iFrame, cum ar fi următorul:
http://wordpress.org/extend/plugins/easy-iframe-loader/
Acesta ar fi deosebit de util într-un mediu unde postările sunt editate de persoane ne-tehnice.

Aceasta a fost a doua mea alegere -- nu am optat pentru ea în principal pentru că nu am vrut să folosesc shortcode-uri.
Mai este cineva în afară de mine care își dorește ca TinyMCE/WordPress să ia pur și simplu HTML-ul pe care îl introduci și să-l lase în pace?

@red4d - Plugin-ul meu va face exact ceea ce îți dorești tu ca WordPress să facă. Am dorit același comportament, la fel ca tine, și am descoperit că este posibil cu multă muncă asiduă în nucleul WP - http://wordpress.org/extend/plugins/preserved-html-editor-markup/

Am avut acest cod într-un plugin personalizat local de ceva vreme. Sau îl puteți include direct în functions.php
-ul temei dumneavoastră:
// Permite iframe în TinyMCE
function tinymce_add_iframe( $arr = array() ) {
$extra = 'iframe[id|class|title|style|align|frameborder|height|longdesc|marginheight|marginwidth|name|scrolling|src|width]';
if ( isset( $arr['extended_valid_elements'] ) ) {
// adaugă la valoarea existentă
$arr['extended_valid_elements'] .= ',' . $extra;
} else {
// setează valoarea
$arr['extended_valid_elements'] = $extra;
}
return $arr;
}
add_filter('tiny_mce_before_init','tinymce_add_iframe');
Acest cod instruiește TinyMCE (editorul vizual) să permită tag-ul iframe
și toate atributele sale.
