WordPress adaugă automat " "?

27 sept. 2011, 22:54:07
Vizualizări: 44.6K
Voturi: 13

Nu sunt sigur dacă WordPress sau TinyMCE face acest lucru. Dar când comut între editorul HTML și cel Vizual, se adaugă  , și adaugă unul în plus de fiecare dată când comut înainte și înapoi. Nu am nici măcar un salt la linie în cod, se pare că decide cumva unde vrea să le plaseze bazându-se pe tag-urile din codul meu HTML.

Ce cauzează acest lucru și cum îl pot remedia?

Am încercat deja acest cod în fișierul functions.php al temei:

//dezactivează auto p
remove_filter ('the_content', 'wpautop');
remove_filter ('comment_text', 'wpautop');
// Elimină formatarea automată
remove_filter('the_content', 'wptexturize');
remove_filter('comment_text', 'wptexturize');
remove_filter('the_title', 'wptexturize');
5
Comentarii

De fapt, face asta automat când schimbi filele, am observat și eu și l-am găsit foarte enervant. Încă nu știu cum să rezolv problema însă...

Joost de Valk Joost de Valk
28 sept. 2011 18:17:46

Eu folosesc aproape exclusiv editorul HTML, lipind cod acolo din BBEdit. Se pare că face asta când salvez în WP.

Goodbye Stack Exchange Goodbye Stack Exchange
25 oct. 2011 22:30:18

Ei bine, am și eu această problemă. Când postez manual și apăs butonul enter, îmi adaugă automat paragraf. Asta se întâmplă după ce am instalat Tiny MCE. Ce vrei să spui prin asta oricum: Filtrează tiny_mce_init, pentru a suprascrie regulile implicite de filtrare a conținutului

User User
30 apr. 2012 13:19:23

Acest lucru mi se întâmplă la titlurile postărilor în buclă. Pare a fi indiscriminat (se întâmplă doar la unele spații din anumite postări).

Drewdavid Drewdavid
23 nov. 2016 07:26:15

Am reușit să găsesc o soluție simplă pentru această problemă: https://wordpress.stackexchange.com/a/291746/135285

AturSams AturSams
21 ian. 2018 21:38:47
Toate răspunsurile la întrebare 6
0

Am descoperit că spațiile nemărginite sunt introduse atunci când folosesc două spații după un punct. Editorul pare să interpreteze spațiul suplimentar ca o încercare din partea mea de a utiliza spații pentru formatarea textului.

Dacă copiez și lipesc articolul meu din editorul Wordpress într-un editor de text care suportă afișarea hexazecimală (eu folosesc EditPad Pro), observ că textul pe care l-am considerat a fi un punct urmat de două spații este în realitate text urmat de un singur spațiu, urmat de caracterul Unicode cu codul hexazecimal A0, care este caracterul Unicode SPAȚIU NEMĂRGINIT.

Am reușit să elimin spațiul nemărginit din articolele existente prin înlocuirea spațiului urmat de caracterul SPAȚIU NEMĂRGINIT cu doar un spațiu. În majoritatea editorilor de text, acest lucru ar trebui să fie posibil prin căutare și înlocuire, copiind "două spații" în caseta de text pentru căutare și scriind un singur spațiu în caseta de text pentru înlocuire.

Am reușit să evit problema pe viitor tastând doar un singur spațiu după un punct.

24 nov. 2015 06:32:52
4

Ce cauzează această problemă și cum o pot rezolva?

Orice conținut adăugat sau eliminat din Conținutul Postării este cauzat de tiny_mce_init, care aplică regulile sale de filtrare a conținutului.

Modalitățile de a preveni acest lucru sunt:

  1. Filtrează tiny_mce_init, pentru a suprascrie regulile implicite de filtrare a conținutului
  2. Nu mai comuta între editorul Vizual și cel HTML. Serios; dacă nu dorești să folosești opțiunea #1 de mai sus, nu comuta între editori. WordPress este conceput să fie utilizat astfel încât conținutul să fie introdus folosind fie editorul Vizual, fie cel HTML, dar nu ambele simultan.

Exemplu de utilizare pentru filtrul tiny_mce_before_init în Codex. Un alt exemplu de configurare/personalizare TinyMCE în Codex aici.

28 sept. 2011 17:40:34
Comentarii

Sunt destul de sigur că răspunsul tău #2 este greșit. Fie asta, fie cineva a "dat-o în bară" la interfața utilizator.

Dacă editorul a fost conceput să fie folosit doar în modul Vizual sau HTML, de ce să existe filele acolo? De ce nu doar să existe o opțiune în setări pentru a-l folosi într-un mod sau altul?

Mai mult, filele sunt acolo în mod implicit... nu este vreo funcționalitate avansată pentru developeri sau opțiune pe care trebuie să o configurezi. Sunt destul de sigur că au fost concepute pentru a permite utilizatorilor să treacă între ele și că adevărata problemă este că uneori nu funcționează bine împreună. (mai ales în cazul formatării spațiilor)

luckykind luckykind
18 nov. 2011 05:43:36

@luckykind Nu, nu au fost concepute pentru a comuta între ele. Aceasta este doar o problemă de arhitectură a TinyMCE. Și este nu singura.

kaiser kaiser
2 oct. 2013 15:38:41

Nu poți să-mi spui că o interfață care oferă file pentru a comuta între editarea HTML și Vizuală nu a fost concepută să fie folosită în acest fel. Este aproape 2016 și problema încă persistă.

Eric J. Eric J.
24 nov. 2015 06:13:38

Cred că computerul meu nu a fost conceput să fie pornit, dar având un buton de pornire, l-am pornit și de aceea toate problemele sunt vina utilizatorului. Designul și codul sunt, evident, impecabile.

AturSams AturSams
21 ian. 2018 21:29:53
1

În cazul în care cineva încă se confruntă cu această problemă în 2020. Am avut această problemă după ce am migrat o cantitate mare de conținut în WordPress. Ghici ce, toată lumea a făcut copiere și lipire și am ajuns cu prea mult conținut pentru a putea corecta manual. Am implementat funcția PHP de mai jos și am adăugat-o în functions.php, rezolvând problema pentru noi.

    function replace_content($content) {
        $content = htmlentities($content, null, 'utf-8');
        $content = str_replace(" ", " ", $content);
        $content = html_entity_decode($content);
    return $content;
    }
    add_filter('the_content','replace_content', 999999999)

Numărul 999999 este doar pentru a ne asigura că acest filtru va rula ultimul, în cazul în care aceste   sunt adăugate undeva în mijloc.

9 ian. 2020 16:05:50
Comentarii

Mulțumesc, această soluție a funcționat pentru mine pentru a evita nevoia de a parcurge toate articolele unui client și de a le actualiza conținutul.

Branden Silva Branden Silva
20 dec. 2020 17:37:52
2

Tot ce folosesc este remove_filter( 'the_content', 'wpautop' ); remove_filter( 'the_excerpt', 'wpautop' ); și asta oprește WordPress să creeze orice markup suplimentar. Copiezi și lipești codul tău dintr-un editor extern?

28 sept. 2011 15:54:21
Comentarii

nu a funcționat pentru mine. Fără a folosi Tiny MCE, doar în HTML, fiecare "actualizare" adaugă în continuare noi  -uri

Christian Christian
17 iun. 2012 17:34:24

Nici pentru mine nu funcționează

sidonaldson sidonaldson
27 oct. 2015 12:44:11
0

Folosesc Wordpress pentru un blog în limba ebraică.

Soluție alternativă: Copiază textul într-un editor precum Sublime sau Notepad++ și înlocuiește spațiile neseparabile cu spații normale. Poți copia unul dintre ele din text.

Declinare de răspundere: aceasta nu este chiar un răspuns, ci mai degrabă o soluție alternativă, așa că simte-te liber să dai vot negativ. Pentru mine, Wordpress adaugă nesăbuit spații neseparabile peste tot și fără niciun motiv. Nu sunt sigur ce le provoacă. Se întâmplă mai des cu textul în ebraică, mult mai mult decât cu orice text în engleză.

21 ian. 2018 21:38:09
0
-1

În fișierul css. Puneți display: inline-flex la paragraful din interiorul the excerpt. Spațiile albe adiționale nu mai sunt o problemă. Funcționează pentru mine.

16 dec. 2013 12:20:19