Forzare WordPress a rimuovere i metadati EXIF/IPTC durante il ridimensionamento delle miniature

2 feb 2019, 19:30:29
Visualizzazioni: 1.19K
Voti: 1

Sto utilizzando Imagick con WordPress 5.0.3. Dalla versione 4.5 WordPress utilizza Imagick per creare/ridimensionare le miniature e mantiene i metadati EXIF/IPTC (utilizzando GD, i metadati vengono rimossi).

WordPress conserva i metadati EXIF/IPTC nelle miniature, ma vorrei creare nuove miniature senza di essi, per rimuovere i metadati. Esiste il filtro image_strip_meta, ma non riesco a farlo funzionare come vorrei, per rimuovere i metadati. Ho inserito questo nel mio functions.php (all'interno del mio tema), ma nulla, le nuove miniature continuano ad avere metadati:

add_filter ('image_strip_meta', false); // Ho provato anche con "true"

Ho letto che c'era un bug in WP riguardo a questo (non so se è stato risolto).

Potresti dirmi qual è il modo giusto per rimuovere i metadati dalle miniature?

2
Commenti

Il secondo parametro di add_filter deve essere un callable. Quindi dovrebbe essere add_filter ('image_strip_meta', '__return_true' ); Sebbene l'impostazione predefinita sia quella di rimuovere i metadati, quindi non so perché le tue miniature abbiano ancora i metadati.

Nathan Johnson Nathan Johnson
2 feb 2019 19:50:00

Ho provato il tuo codice aggiornato, ma i metadati (exif sono ancora presenti nelle nuove miniature, non vengono rimossi). Hai idea del perché?

Advanced SEO Advanced SEO
3 feb 2019 19:40:32
Tutte le risposte alla domanda 1
1

La funzione strip_meta di Imageick viene chiamata solo se l'hook image_strip_meta restituisce true, ma la funzione in realtà non rimuove tutti i profili. Alcuni sono protetti, come puoi vedere nel codice della funzione:

/*
     * Protegge alcuni profili dall'essere rimossi per i seguenti motivi:
     *
     * - icc:  Informazioni sul profilo colore
     * - icm:  Informazioni sul profilo colore  
     * - iptc: Dati relativi al copyright
     * - exif: Dati sull'orientamento
     * - xmp:  Dati sui diritti d'uso
     */
    $protected_profiles = array(
        'icc',
        'icm', 
        'iptc',
        'exif',
        'xmp',
    );
18 lug 2019 14:03:31
Commenti

C'è un modo per rimuovere "exif" da protected_profiles, preferibilmente dal file function.php del mio tema, in modo che il filtro 'image_strip_meta' funzioni?

Advanced SEO Advanced SEO
10 mar 2020 09:29:00