Suggerimenti per WordPress

Qualche settimana fa, ho ricodificato il mio tema e ho voluto tenere le stesse emoticon di prima, ma senza lo stesso vecchio plugin che non è stato aggiornato da anni, non sono riuscita. Dal momento che ho voluto utilizzare un codice aggiornato, ho pensato che un plugin così vecchio non andasse bene quindi ho cercato qualcosa di nuovo. Ma niente, non sono riuscita ad implementare i miei smilies se non cambiando il core di WordPress che è vivamente sconsigliato. Leggendo online ho scoperto che ora WordPress usa le emoji, usando script pieni di errori e rendendo il sito lento.

Ho provato a seguire i tutorial online ma niente ha funzionato…

Alla fine ho provato il plugin Classic Smilies, che funziona benissimo, il problema era che volevo le mie faccine personalizzate e con questo plugin si possono avere solo le faccine di WordPress classiche come dice il nome del plugin.

Così ho creato una nuova cartella, nella cartella del plugin Classic Smilies (so che avrei potuto cambiare quello che è già in dotazione ma sono puntigliosa e ho voluto avere un backup per ogni evenienza), l’ho chiamata “images” (quella in dotazione del plugin si chiama “img”), ha caricato tutte le mie emoticon in quella cartella e ha aperto classic-smilies.php. Alla linea 16 c’è questa scritta:

return plugins_url( "img/{$img}", __FILE__ );

e l’ho cambiata con:

return plugins_url( "images/{$img}", __FILE__ );

così ora le mie emoticon si caricano invece di quelle classiche di WordPress.

Ma le mie faccine erano tutte schiacciati, perché WordPress aggiunge una linea di stile alle mie emoticon. : angry: Ho cercato su Google e ho trovato questo questo tutorial, l’ho seguito ma le mie faccine erano ancora schiacciate.

Per fortuna ho fatto scorrere la pagina verso il basso, ed era una singola pagina in cui avevo commenti e ho scoperto che le faccine nei commenti non si riducevano. E ho detto, “come mai?” il codice è lo stesso! Così ho cercato in classic-smilies.php e ho scoperto queste righe, dalla riga 84 alla 86:

 add_filter( 'the_content', 'classic_smilies_rm_additional_styles', 11 );
 add_filter( 'the_excerpt', 'classic_smilies_rm_additional_styles', 11 );
 add_filter( 'comment_text', 'classic_smilies_rm_additional_styles', 21 );

vedete come in “comment-text” il numero è 21 gli altri sono 11? Così ho provato a cambiare l’11 con il 21 e boom, il tutorial precedente ha funzionato. Non chiedermi perché, non sono un programmatore e non conosco molto PHP, non so nemmeno perché quei numeri siano lì, ma ha funzionato e sembra che il sito non sia “rotto”. Continuo a tenere questo codice fino a quando non si rompe qualcosa :D ).

Quindi ho cambiato le right precedenti in:

 add_filter( 'the_content', 'classic_smilies_rm_additional_styles', 21 );
 add_filter( 'the_excerpt', 'classic_smilies_rm_additional_styles', 21 );
 add_filter( 'comment_text', 'classic_smilies_rm_additional_styles', 21 );

cambiato questa ultima riga, la linea 95:

return str_replace( 'class="wp-smiley" style="height: 1em; max-height: 1em;"', 'class="wp-smiley"', $content );

in:

return str_replace( 'class="wp-smiley" style="height: 1em; max-height: 1em;"', 'class="cst-wp-smiley"', $content );

questo cancella "height: 1em; max-height: 1em" che WordPress aggiunge automaticamente.

Alla fine ho aggiunto questo codice al mio CSS

img.cst-wp-smiley { 
 border: none !important;
 background: none !important;
 padding: 0;
}

Voi non avete bisogno di fare quest’ultima parte se non avete immagini con stile particolare nei vostri post, ma io ho la possibilità di stilizzare tutte le immagini con un bordo grigio e uno sfondo grigio quando pubblico un’immagine senza aggiungere una classe in più quindi ho dovuto aggiungere questo codice al mio style.css o avrei avuto una emoticon con un bordo grigio intorno ad esso e uno sfondo grigio.

Share On:
Post on TwitterPost on FacebookPost on WhatsappPost on LinkedinPost on DigPost on StumbleUpon

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *