Autore: UMNW

  • WordPress supporto all’upload dei file SVG

    WordPress supporto all’upload dei file SVG

    WordPress, per impostazione predefinita, non consente il caricamento dei file SVG nella libreria media. Il motivo è principalmente legato alla sicurezza: a differenza di formati come JPG o PNG, un file SVG è basato su XML e può contenere codice potenzialmente pericoloso. Per questo motivo, tentando di caricarlo, WordPress restituisce l’errore relativo al tipo di file non consentito.

    Per risolvere il problema ho aggiunto un piccolo snippet PHP che abilita il formato image/svg+xml tra i MIME type accettati e forza WordPress a riconoscere correttamente l’estensione .svg. Ho limitato questa possibilità agli utenti amministratori, evitando quindi che autori, editor o altri profili possano caricare liberamente questo tipo di file.

    Lo snippet può essere inserito nel functions.php di un child theme, in un plugin personalizzato oppure tramite un plugin come Code Snippets. Va comunque ricordato che l’abilitazione dell’upload non equivale alla sanificazione del file: è quindi opportuno caricare esclusivamente SVG prodotti internamente o provenienti da fonti affidabili.

    <?php
    
    /**
     * Allow SVG uploads for administrators only.
     */
    add_filter('upload_mimes', function (array $mimes): array {
        if (current_user_can('manage_options')) {
            $mimes['svg'] = 'image/svg+xml';
        }
    
        return $mimes;
    });
    
    /**
     * Ensure WordPress correctly recognises SVG files.
     */
    add_filter(
        'wp_check_filetype_and_ext',
        function (array $data, string $file, string $filename): array {
            if (
                current_user_can('manage_options') &&
                strtolower(pathinfo($filename, PATHINFO_EXTENSION)) === 'svg'
            ) {
                $data['ext']  = 'svg';
                $data['type'] = 'image/svg+xml';
            }
    
            return $data;
        },
        10,
        3
    );

    Lo script abilita la funzionalità di caricamento dei file svg solo per gli amministratori di wordpress.

  • Ho pubblicato CartBridge Checkout for WooCommerce su wordpress.org: il plugin nato per il nuovo checkout di meta (facebook e instagram)

    Ho pubblicato CartBridge Checkout for WooCommerce su wordpress.org: il plugin nato per il nuovo checkout di meta (facebook e instagram)

    Per consentire che la procedura di acquisto da piattaforme Meta (Facebook e Instagram) possa procedere senza interruzioni e quindi rispettare i nuovi criteri che la società di Palo Alto ha imposto a chi ha degli store sui canali Meta, su tutti i siti dei miei clienti, ho creato questo plugin: Cartbridge Checkout for WooCommerce.

    Con un poco di intelligenza artificiale e un poco di quella naturale, ho assolto allo sporco lavoro accontentando i clienti, ma poi mi sono detto: “Sai che c’è, mi scoccio di aggiornare questo plugin a mano su tutti i siti e poi questa community (quella di wordpress) mi ha dato tanto … è ora di ricambiare”.

    Per questo ho realizzato CartBridge Checkout for WooCommerce, un plugin pensato per creare un ponte tra carrello meta e checkout sul proprio sito.

    Oltre a conformarci con i nuovi standard di Meta miglioriamo anche gli aspetti relativi al marketing e al tracciamento delle conversioni, in quanto strizziamo l’occhio a Meta Pixel e Meta Ads.

    Meta stessa spiega che Pixel e Conversions API lavorano meglio insieme, perché il Pixel raccoglie eventi dal browser mentre la Conversions API invia eventi server-side, migliorando misurazione e ottimizzazione quando il tracking browser è limitato. Il problema nasce quando questi segnali non sono coerenti: eventi mancanti, eventi duplicati, Purchase non registrati, InitiateCheckout non affidabili, oppure dati non deduplicati correttamente. Meta documenta infatti che, per deduplicare eventi browser e server, l’eventID del Pixel deve corrispondere all’event_id inviato tramite Conversions API.

    Risorse ufficiali e video utili

    Per approfondire il contesto tecnico consiglio questi materiali:

    • Scarica il plugin per wordpress da qui https://wordpress.org/plugins/cartbridge-checkout-for-woocommerce/
    • Documentazione ufficiale Meta sulla deduplicazione tra Pixel e Conversions API.
    • Parametri ufficiali degli eventi server-side della Meta Conversions API.
    • Documentazione WooCommerce su Meta Ads & Pixel for WooCommerce.
    • Video: setup di Meta Conversions API + Event Deduplication con Google Tag Manager.
    • Video: come testare e correggere errori del Meta Pixel.
    • Video: setup di Pixel, CAPI e deduplicazione tramite GTM server-side.
  • WireGuard su Ubuntu: come vedere IP assegnato e stampare la configurazione (wg showconf, ip a)

    WireGuard su Ubuntu: come vedere IP assegnato e stampare la configurazione (wg showconf, ip a)

    Se hai seguito la guida per gestire WireGuard su Ubuntu con un’icona in tray tramite Python, probabilmente a questo punto ti starai chiedendo:

    • Che IP mi ha assegnato la VPN?
    • Come faccio a vedere la configurazione attiva di WireGuard?
    • Come stampo il file .conf che sto usando?

    In questo articolo vediamo i comandi più utili (e più rapidi) per controllare tutto dal terminale, senza impazzire.

    Tutti i comandi qui sotto funzionano su Ubuntu e derivati (Debian, Mint, ecc.).
    In alcuni casi è richiesto sudo.

    Come vedere l’IP che ti ha assegnato WireGuard

    Quando WireGuard è attivo, crea un’interfaccia di rete virtuale (di solito chiamata wg0).

    Per vedere tutte le interfacce e trovare quella WireGuard:

    ip a

    Cerca una sezione simile a questa:

    3: wg0: <POINTOPOINT,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default
        inet 10.7.0.2/24 scope global wg0
           valid_lft forever preferred_lft forever

    In questo esempio, l’IP assegnato dalla VPN è:

    10.7.0.2

    Stampare solo l’IP della VPN (senza “rumore”)

    Se vuoi vedere direttamente l’IP IPv4 associato a wg0:

    ip -4 addr show dev wg0

    Se invece vuoi solo l’indirizzo pulito (utile anche per script):

    ip -4 addr show dev wg0 | grep -oP 'inet \K[\d.]+'

    Esempio output:

    10.7.0.2

    Come stampare la configurazione WireGuard

    Ci sono due “tipi” di configurazione che puoi voler vedere:

    1. Il file di configurazione (wg0.conf)
    2. La configurazione attiva (runtime), cioè quella realmente caricata e in uso

    Vediamole entrambe.

    1) Stampare il file .conf (quello che hai configurato)

    Di solito i file WireGuard si trovano in:

    /etc/wireguard/

    E il file classico è:

    /etc/wireguard/wg0.conf

    Per stamparlo:

    sudo cat /etc/wireguard/wg0.conf

    Se vuoi una stampa più leggibile con i numeri di riga:

    sudo nl -ba /etc/wireguard/wg0.conf

    Questo è comodo quando devi copiare/incollare righe specifiche o confrontare config.

    2) Stampare la configurazione attiva (quella realmente in uso)

    Questa è la parte più utile quando vuoi fare debug o capire se la VPN è davvero connessa.

    Config attiva in formato “conf”

    sudo wg showconf wg0

    Questo comando ti stampa una versione “ricostruita” della configurazione attiva dell’interfaccia.

    Stato completo dell’interfaccia (debug)

    sudo wg show wg0

    Qui vedrai:

    • public key
    • endpoint (IP:porta del server)
    • allowed IPs
    • handshake recente
    • transfer (rx/tx)

    Esempio tipico:

    • se handshake è recente, sei connesso
    • se transfer aumenta, il traffico sta passando

    Vedere tutte le interfacce WireGuard attive

    Se non sei sicuro del nome (wg0, wg1, ecc.):

    sudo wg show

    Nota importante: IP VPN vs IP pubblico

    Qui spesso ci si confonde, quindi vale la pena chiarire:

    IP della VPN (interno)

    Quello che vedi con:

    ip -4 addr show dev wg0

    è un IP “interno” della rete VPN (es. 10.x.x.x, 192.168.x.x, ecc.)

    IP pubblico (quello che vede internet)

    Se la VPN instrada il traffico verso internet, allora il tuo IP pubblico cambia.

    Puoi verificarlo così:

    curl ifconfig.me

    Oppure:

    curl ipinfo.io/ip

    Se vedi un IP diverso dal tuo normale, allora stai uscendo su internet tramite VPN.

    Mini-checklist veloce (comandi utili)

    Vedere l’IP assegnato alla VPN:

    ip -4 addr show dev wg0

    Stampare solo l’IP:

    ip -4 addr show dev wg0 | grep -oP 'inet \K[\d.]+'

    Stampare il file di configurazione:

    sudo cat /etc/wireguard/wg0.conf

    Config attiva (in formato conf):

    sudo wg showconf wg0

    Stato completo:

    sudo wg show wg0

    Vedere l’IP pubblico:

    curl ifconfig.me

    Con questo abbiamo chiuso

    Dopo aver configurato WireGuard e averlo reso comodo da gestire tramite tray (come nella guida precedente), questi comandi ti permettono di:

    • verificare subito se la VPN è attiva
    • controllare che IP ti è stato assegnato
    • stampare la configurazione file e runtime
    • capire se stai navigando con un IP pubblico diverso

    Se vuoi, nel prossimo articolo possiamo aggiungere anche:

    • un pulsante nella tray app per mostrare l’IP attuale
    • una notifica desktop con IP e handshake
    • controllo “VPN attiva/non attiva” più affidabile

    Buon tunnel