50 filtri di WordPress filtri 11-20

Nella parte precedente di questa serie, abbiamo iniziato a esaminare 50 filtri WordPress. Selezionati tra centinaia, abbiamo iniziato esaminandone 10.

In questo tutorial, vedremo un altro gruppo di essi e ne esamineremo alcuni esempi.

Cominciamo!

Giocare con dati traducibili in WordPress

Una delle funzionalità più interessanti di WordPress è la possibilità di tradurre ogni frammento di testo. Se la lingua del tuo sito web è l'inglese, tuttavia, non hai bisogno di questa funzione - o lo fai tu? 

Il gettext filtro potrebbe funzionare per te in un modo diverso. Vediamo un esempio interessante.

Esempio: Correggere la grammatica di un altro sviluppatore!

Supponiamo di aver trovato un buon plugin con cui lavorare, ma ti rendi conto che il suo proprietario non parla molto bene l'inglese, e vedi del testo scritto male nel codice. Fortunatamente le stringhe sono traducibili, quindi sarai in grado di cambiare quelle stringhe con l'aiuto di gettext filtro. 

Vediamo come:

Pulire la lumaca

WordPress usa una funzione chiamata sanitize_title () per ripulire i titoli, sostituisce gli spazi con trattini e li prepara a salvare come slug. Con il filtro sanitize_title (sì, lo stesso nome) è possibile estendere questa funzione.

Esempio: rimozione delle parole "The" da Slug

Se non vuoi la parola "the" nelle tue lumache, puoi eliminarle con lo snippet di codice seguente:

Una soluzione semplice ed elegante.

Impostazione delle eccezioni per la valutazione del cortocircuito

Questo comodo filtro "ti permette di specificare quali shortcode dovrebbero non essere gestito attraverso il wptexturize () funzione ", come detto nel Codex.

Esempio: escludi il tuo Shortcode da Texturization

Se vuoi lo shortcode che hai costruito per escludere dalla texturizzazione, usa questo codice per aggiungere il tuo nome shortcode alla lista "do not texturize":

Abbastanza facile, giusto?

Filtro dello stato di approvazione di un commento

WordPress ha i propri controlli per i commenti (che possono essere un po 'troppo semplici contro gli spammer) prima di decidere se il commento deve essere contrassegnato come spam, essere inviato alla coda di moderazione o essere approvato. Il pre_comment_approve filtro consente ai plugin di aiutare con questa decisione.

Esempio: marcatura di commenti con nomi di autori lunghi come spam

Nel mio paese, la Turchia, gli spammer di commento di WordPress usano solitamente nomi lunghi, a volte l'URL stesso. 

Con lo snippet di codice riportato di seguito, puoi eliminare automaticamente gli spammer che utilizzano nomi come "Spedizione nazionale e internazionale a prezzi estremamente bassi (fai clic qui per ulteriori informazioni)":

 75)? 'spam': $ approvato;  // Fonte di esempio: https://gist.github.com/norcross/5468979?>

Un ringraziamento speciale a Andrew Norcross per l'idea!

Suggerimento bonus: se vuoi eliminare lo spam controllando la lunghezza dell'URL dell'autore del commento, usa "comment_author_url" invece di "comment_author". A proposito, Andrew Norcross ha usato l'URL nel suo suggerimento originale.

Configurazione della funzione "Pubblica per email"

Sapevi che puoi postare sul tuo blog WordPress via email? WordPress offre questa funzione usata raramente e ti permette di accenderlo o spegnerlo con enable_post_by_email_configuration filtro.

Esempio: attivazione e disattivazione della funzionalità "Pubblica per email"

Per qualche motivo (come la sicurezza, forse) potresti voler disattivare questa funzione. E puoi farlo con una sola riga di codice:

Oppure se sei su WordPress Multisite e devi abilitare questa funzione (dato che è disabilitata di default su Multisite), puoi usare il __return_true () funzione:

Filtro dei titoli della pagina

Il wp_title () la funzione restituisce i titoli delle pagine, quelli che vediamo nella nostra scheda si occupano dei browser. E la funzione wp_title ci consente di manomettere quei titoli.

Esempio: riscrittura dei titoli della pagina - Il modo giusto

Un rispettato "guru" di WordPress (ed editore di Tuts + Code) Tom McFarlin ci spiega nel suo blog come riscrivere correttamente i nostri titoli di pagina con wp_title () funzione e il filtro con lo stesso nome:

Poiché wp_title è una funzione filtrata, ciò significa che siamo in grado di fornire un hook personalizzato che ci consente di definire lo schema per la visualizzazione dei nostri titoli non solo in modo più preciso, ma anche correttamente.

= 2 || $ page> = 2) $ title = sprintf (__ ('Pagina% s', 'tuts_filter_example'), max ($ paged, $ page)). "$ sep $ title"; return $ title;  // Esempio di fonte: http://tommcfarlin.com/filter-wp-title/?>

Assicurati di controllare il suo articolo. Grazie, Tom!

Elaborazione dei commenti prima che vengano salvati nel database

Se hai bisogno di aiuto per modificare i dati dei commenti (l'ID post del commento, il nome dell'autore, l'indirizzo email dell'autore, il sito web dell'autore, il tipo di commento, l'ID dell'utente se il commentatore è un utente, il tipo di commento e il contenuto del commento), preprocess_comment posso aiutarti.

Esempio: Abbassa il volume di Yellers

OTTENETE MOLTE COMMENTI IN CUI OGNI SINGOLA PAROLA È MAIUSCOLA? Se lo fai, puoi automaticamente rendere quelle lettere minuscole con lo snippet di codice qui sotto:

Splendido, no?

Gestione del reindirizzamento dopo l'accesso

Questo piccolo filtro ci consente di impostare i reindirizzamenti (diversi dal pannello di amministrazione) in seguito al processo di accesso, che può essere piuttosto utile in alcuni casi.

Esempio: reindirizzare gli abbonati alla home page del sito

Se non desideri che i tuoi utenti (con il ruolo "Sottoscrittore") visualizzino il tuo pannello di amministrazione dopo l'accesso, puoi reindirizzarli alla home page del tuo sito Web:

ruoli) && is_array ($ user-> ruoli)) if (in_array ('subscriber', $ user-> ruoli)) return home_url ();  else return $ redirect_to;   ritorno; ?>

Il codice ci avverte di una cosa: "Assicurati di usare add_filter al di fuori di is_admin (), poiché quella funzione non è disponibile quando viene chiamato il filtro. "

Creare link di azione per il tuo plugin

Se stai sviluppando un plug-in, potresti chiederti in che modo altri sviluppatori sono riusciti ad aggiungere link sotto i nomi dei loro plug-in nella pagina Plugin. Bene, usano questo filtro.

Esempio: aggiunta di un link "Impostazioni" a Display nella pagina dei plugin

Per aggiungere link di azione personalizzati sotto il nome del tuo plug-in nell'elenco nella pagina Plugin, puoi utilizzare questa funzione e collegarla al filtro:

Si noti che stiamo usando il __FILE__ costante per collegare la nostra funzione al filtro con il nome del tuo plugin. Pulito, eh?

Usare questo con cautela: se si abusa quell'area per riempire lì con i link, le persone si ricorderanno di te come spammer.

Filtro del contenuto all'interno dell'editor dei post

Mai voluto pre-fill l'editor di post per iniziare a scrivere con un modello di post o lasciare note per i tuoi autori? Puoi, grazie a the_editor_content filtro.

Esempio: lasciare promemoria per i tuoi autori

Facciamo l'esempio "lasciando le note per gli autori": se hai un sacco di cose da ricordare agli autori del tuo blog, puoi riempire l'editor di post con HTML usando questo codice:

  • Vieni con buoni tag per il post,
  • Imposta l'ora della pubblicazione alle 08:00 di domani mattina,
  • Cambia lo slug con una lumaca SEO-friendly,
  • E cancella questo testo, hehe.
  • '. "\ N \ n"; $ template. = 'Ciao!'; return $ template; else restituisce $ content; // Fonte di esempio: http://wpfilte.rs/the_editor_content/?>

    Cambiare il $ template variabile con tutto ciò che ti piace e sei a posto!

    Fine della seconda parte

    Abbiamo esaminato il secondo lotto di 50 filtri in questo articolo. Spero che ti sia piaciuto e imparato nuove cose da esso. Ci vediamo nel prossimo!

    Voglio sentire anche i tuoi pensieri. Cosa ne pensi di questi filtri? Pubblica i tuoi commenti qui sotto; e se ti è piaciuto l'articolo, non dimenticare di condividerlo!