Consentire caricamento file xml in WordPress

Di norma WordPress consente il caricamento di file solo per le estensioni ritenute “sicure”. A causa delle nuove leggi per le pubbliche amministrazioni queste ultime hanno la necessità di caricare sui propri siti dei file XML e renderli accessibili ai vari Ministeri ed Enti. WordPress non lascia caricare file XML per questioni di sicurezza (non che il file xml abbia in sè delle criticità, ma non rientra nelle estensioni consentite di default), per poterli caricare bisogna aggiungere nel file functions.php (lo trovate nella cartella del vostro tema) le seguenti righe:

function my_myme_types($mime_types){
        $mime_types[‘xml‘] = ‘application/xml‘; //aggiunge l’estensione XML
        return $mime_types;
}
add_filter(‘upload_mimes’, ‘my_myme_types’, 1, 1);

Se avete realizzato un tema figlio potete creare un nuovo file functions.php da inserire nella cartella del tema figlio contenente le righe indicate sopra.
Per aggiungere tutte le estensioni di cui si ha bisogno è sufficiente aggiungere all’array $mime_types quelle desiderate.

Se non siete programmatori e volete un modo veloce per aggiungere questa funzionalità al vostro sito in WordPress, potete scaricare il plugin gratuito che ho realizzato: scarica caricaxml

(aggiornato a WordPress 4.7.1)

Tema figlio con WordPress

Nell’usare temi per personalizzare il proprio WordPress si rende necessario quasi sempre eseguire delle modifiche. Il problema classico è aggiornare il tema con nuove versioni: usare l’apposita funzione automatica di WordPress oppure caricare il pacchetto con la nuova versione del tema comportano, se non si sta attenti, la sovrascrittura di tutte le modifiche fatte.

Per ovviare al problema e lavorare in tutta autonomia si può usare un tema figlio (child theme).

Prendiamo ad esempio il tema Twenty Twelve di WordPress: andiamo nella cartella wp-content/themes del nostro WordPress.

All’interno creiamo una cartella con il nome che preferiamo, ad esempio “twelvechild”:

wp-content/themes/twelvechild

Ora copiamo dal tema originario che si trova in wp-content/themes/twentytwelve/ il file style.css. Apriamo il file, cancelliamo tutto quanto, e scriviamo il seguente codice:

/*
 Theme Name: Child Twenty Twelve
 Author: il tuo nome
 Description: tema figlio del tema TwentyTwelve.
 Version: 1.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: twentytwelve
 Template: twentytwelve /* qui va il nome del tema "padre" da cui erediteremo tutte le impostazioni */
 */
 @import url('../twentytwelve/style.css'); /*qui va inserito il percorso alla cartella del tema "padre" del file style.css, che è il foglio di stile principale del tema*/

Ora se si vogliono modificare dei file del tema di WordPress (il file forse più modificato è ad esempio footer.php che contiene il fondo pagina), è sufficiente creare nella cartella del tema figlio un file vuoto con lo stesso nome di quello che si vuole “sovrascrivere”, e WordPress utilizzerà quello invece di quello principale.

Un file “particolare” è invece functions.php, che potete creare vuoto e in cui potrete inserire nuove funzioni da aggiungere al vostro tema personalizzato.

Notare che nel nuovo style.css si possono cambiare facilmente i parametri del foglio di stile “padre” scrivendoli in cascata, per l’ereditarietà del CSS verranno sovrascritti quelli del foglio “padre”.

Recuperare l’URL della prima immagine di un post di WordPress

Spesso ho la necessità di utilizzare la thumbnail (“miniatura”) di un’immagine associata a un post WordPress.
Si può utilizzare l’immagine in evidenza, se è definita nel post, oppure prendere ad esempio la prima immagine presente nel post stesso. Questo è utile se si ha necessità ad esempio di avere 2 immagini in un formato diverso da utilizzare come miniatura di riferimento per un post (ad esempio quadrata o rettangolare).
Ecco la funzione da scrivere (potete aggiungerla in functions.php ad esempio):

function recupera_immagine() {
global $post, $posts;
$output = preg_match_all(‘/<img.+src=[\'”]([^\'”]+)[\'”].*>/i’, $post->post_content, $matches);
$prima_img = $matches [1] [0];
return $prima_img;
}

per richiamare il percorso dell’immagine, è sufficiente utilizzare la funzione senza parametri:
echo recupera_immagine();

Problema sticky post su WordPress

A partire dalla versione 2.7 WordPress ha introdotto la funzione per gestire gli “sticky” post, ovvero gli articoli in risalto (prima chiamati in evidenza).
Mi è capitato su alcuni siti che cancellando dalla bacheca di WordPress un articolo marcato come sticky questo rimanga memorizzato comunque nel database nell’elenco degli sticky posts, causando problemi ai risultati delle funzioni che li richiamano.

Per ripulire correttamente i post in risalto occorre collegarsi al database (ad esempio con PhpMyAdmin) e selezionare la tabella
wp_options alla voce sticky_posts resettate il valore corrispondente in a:0:{i:0;}

Questo sito utilizza cookie tecnici per il suo funzionamento. Cliccando su Accetta, scorrendo la pagina, navigando questo sito ne acconsenti l'uso e la tua scelta sarà memorizzata per 12 mesi. I contenuti presenti rappresentano l'opinione personale dell'autore, le guide e gli appunti sono da considerarsi indicativi e si declina ogni responsabilità derivante dall'applicazione delle indicazioni contenuti in essi. Maggiori informazioni sulla privacy e sui cookie (informativa estesa)

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi