WordPress aggiunge automaticamente " "?

27 set 2011, 22:54:07
Visualizzazioni: 44.6K
Voti: 13

Non sono sicuro se sia WordPress stesso o TinyMCE a farlo. Ma quando passo tra l'editor HTML e quello Visuale, viene aggiunto  , e ne viene aggiunto uno extra ogni volta che passo da uno all'altro. Non ho nemmeno un'interruzione di riga nel codice, sembra che decida in qualche modo dove posizionarli basandosi sui tag nel mio codice HTML.

Cosa lo sta causando e come posso risolverlo?

Ho già provato questo nel file functions.php del template:

// disabilita auto p
remove_filter ('the_content', 'wpautop');
remove_filter ('comment_text', 'wpautop');
// Rimuovi la formattazione automatica
remove_filter('the_content', 'wptexturize');
remove_filter('comment_text', 'wptexturize');
remove_filter('the_title', 'wptexturize');
5
Commenti

In realtà lo fa automaticamente quando cambi scheda, l'ho notato anch'io e l'ho trovato molto fastidioso. Non ho ancora idea di come risolverlo però...

Joost de Valk Joost de Valk
28 set 2011 18:17:46

Uso quasi esclusivamente l'editor HTML, incollando il codice da BBEdit. Sembra che mi faccia questo quando salvo in WP.

Goodbye Stack Exchange Goodbye Stack Exchange
25 ott 2011 22:30:18

beh ho anch'io questo problema. Quando inserisco manualmente e clicco il pulsante invio, mi aggiunge automaticamente un paragrafo. Questo succede dopo aver installato Tiny MCE. Cosa intendi con questo comunque: Filtra tiny_mce_init, per sovrascrivere le regole predefinite di filtraggio dei contenuti

User User
30 apr 2012 13:19:23

Questo mi sta accadendo con i titoli dei post nel loop. Sembra indiscriminato (succede solo su alcuni spazi di alcuni post).

Drewdavid Drewdavid
23 nov 2016 07:26:15

Sono riuscito a trovare una semplice soluzione alternativa per questo problema: https://wordpress.stackexchange.com/a/291746/135285

AturSams AturSams
21 gen 2018 21:38:47
Tutte le risposte alla domanda 6
0

Ho scoperto che vengono inseriti spazi indivisibili quando uso due spazi dopo un punto. L'editor sembra interpretare lo spazio extra come un mio tentativo di utilizzare spazi per la formattazione del testo.

Se copio e incollo il mio articolo dall'editor di WordPress in un editor di testo che supporta la visualizzazione esadecimale (io uso EditPad Pro), vedo che il testo che pensavo fosse un punto seguito da due spazi è in realtà testo seguito da un singolo spazio, seguito dal carattere Unicode con codice esadecimale A0, che è il carattere Unicode SPAZIO INDIVISIBILE (NO-BREAK SPACE).

Sono riuscito a rimuovere lo spazio indivisibile negli articoli esistenti sostituendo lo spazio seguito dal carattere SPAZIO_INDIVISIBILE con un semplice spazio. Nella maggior parte degli editor di testo, puoi farlo con la funzione cerca e sostituisci copiando i "due spazi" nella casella di testo Trova e scrivendo un singolo spazio nella casella di testo Sostituisci.

Sono riuscito a evitare il problema in futuro digitando solo un singolo spazio dopo un punto.

24 nov 2015 06:32:52
4

Cosa lo causa e come posso risolverlo?

Qualsiasi contenuto aggiunto o rimosso dal tuo Post Content è causato da tiny_mce_init, che applica le sue regole di filtraggio del contenuto.

I modi per prevenirlo sono:

  1. Filtrare tiny_mce_init, per sovrascrivere le regole predefinite di filtraggio del contenuto
  2. Smetti di passare tra l'editor Visuale e HTML. Seriamente; a meno che tu non voglia utilizzare l'opzione #1 sopra, non passare tra gli editor. WordPress è progettato per essere utilizzato in modo che il contenuto venga inserito utilizzando l'editor Visuale o HTML, ma non entrambi contemporaneamente.

Esempio d'uso per il filtro tiny_mce_before_init nel Codex. Un altro esempio di configurazione/personalizzazione di TinyMCE nel Codex qui.

28 set 2011 17:40:34
Commenti

Sono abbastanza sicuro che la tua risposta #2 sia sbagliata. O qualcuno ha "fatto un pasticcio" con l'interfaccia utente.

Se l'editor era pensato per essere usato solo in modalità Visuale o HTML, perché avere le schede lì in primo luogo? Perché non renderlo semplicemente un'opzione nelle impostazioni per usarlo in un modo o nell'altro?

Inoltre, le schede sono lì di default... non è una funzione avanzata per sviluppatori o un'opzione che devi configurare. Sono abbastanza sicuro che fossero pensate per permettere agli utenti di cliccare avanti e indietro tra le due modalità e che il vero problema sia che a volte non funzionano bene insieme (specialmente nel caso della formattazione degli spazi).

luckykind luckykind
18 nov 2011 05:43:36

@luckykind No, non erano pensate per passare avanti e indietro tra le due modalità. È solo un problema architettonico di TinyMCE. Ed è non l'unico.

kaiser kaiser
2 ott 2013 15:38:41

Non puoi dirmi che un'interfaccia utente che offre schede per passare avanti e indietro tra l'editing HTML e Visuale non sia pensata per essere usata in quel modo. È quasi il 2016 e il problema è ancora lì.

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

Penso che il mio computer non fosse destinato ad essere acceso, ma dato che ha un pulsante di accensione lo abbiamo acceso, quindi tutti i problemi sono colpa dell'utente. Il design e il codice sono ovviamente perfetti.

AturSams AturSams
21 gen 2018 21:29:53
1

Nel caso ci sia ancora qualcuno bloccato con questo problema nel 2020. Abbiamo avuto questo problema dopo aver migrato un sacco di contenuti su WordPress. Indovinate un po', tutti hanno fatto copia e incolla e ci siamo ritrovati con troppi contenuti per poterli correggere manualmente. Ho implementato la funzione PHP qui sotto e l'ho aggiunta a functions.php, risolvendo il problema per 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)

Il 999999 serve solo per assicurarsi che questo filtro venga eseguito per ultimo, nel caso in cui questi   vengano aggiunti da qualche parte nel mezzo.

9 gen 2020 16:05:50
Commenti

Grazie, questa soluzione ha funzionato per me ed evitato di dover passare attraverso tutti i post di un cliente per aggiornare il loro contenuto.

Branden Silva Branden Silva
20 dic 2020 17:37:52
2

Tutto ciò che uso è remove_filter( 'the_content', 'wpautop' ); remove_filter( 'the_excerpt', 'wpautop' ); e questo impedisce a WordPress di creare markup aggiuntivo. Stai copiando e incollando il tuo codice da un editor esterno?

28 set 2011 15:54:21
Commenti

non ha funzionato per me. Senza usare Tiny MCE, anche solo in HTML ogni "aggiornamento" continua ad aggiungere nuovi  

Christian Christian
17 giu 2012 17:34:24

Anche per me non funziona

sidonaldson sidonaldson
27 ott 2015 12:44:11
0

Sto utilizzando WordPress per un blog in ebraico.

Soluzione alternativa: Copia il testo in un editor come Sublime o Notepad++ e sostituisci gli spazi con spazi normali. Puoi copiarne uno dal testo.

Disclaimer: questa non è tanto una risposta quanto una soluzione alternativa, quindi sentiti libero di votare negativamente. Per quanto mi riguarda, WordPress aggiunge continuamente spazi indivisibili (nbsp) ovunque e senza alcun motivo apparente. Non sono sicuro di cosa lo causi. Succede molto più frequentemente con il testo in ebraico rispetto a qualsiasi testo in inglese.

21 gen 2018 21:38:09
0
-1

Nel file css. Aggiungi display: inline-flex al p all'interno di the excerpt. Gli spazi bianchi aggiuntivi non danno più fastidio. Funziona per me.

16 dic 2013 12:20:19