Un utente ha chiesto informazioni su Fixing WordPress di Wordpress

Cambia la cartella di caricamento in base al tipo di post personalizzato con W3 Total Cache

Un utente ha chiesto 👇

Uso W3 Total Cache per sincronizzare il mio CDN (Amazon). Funziona come previsto, tranne che sto cercando di modificare la cartella dei caricamenti in base ai tipi di post personalizzati.

Ho trovato il codice qui sotto. Funziona perfettamente per caricare sul mio server locale, nella cartella CPT corretta, ma W3 sta cercando di trovare l’immagine nella directory principale (es: wp-content / uploads / 450746973-380 Ă— 214.jpg). Non sta cercando nella sottocartella in cui l’immagine è stata effettivamente caricata, quindi è presente un “Origine non trovata”. errore. Ha funzionato per le vecchie sottodirectory / months, ma non per il nuovo metodo CPT.

Ho provato ad aggiungere ogni singola directory CPT all’elenco dei file personalizzati, ma non ha funzionato.

//Upload directory based on custom post type CPT
add_filter('upload_dir', 'cgg_upload_dir');
function cgg_upload_dir($dir)
{
    // xxx Lots of $_REQUEST usage in here, not a great idea.

    // Are we where we want to be?
    if (!isset($_REQUEST['action']) || 'upload-attachment' !== $_REQUEST['action']) {
        return $dir;
    }

    // make sure we have a post ID
    if (!isset($_REQUEST['post_id'])) {
        return $dir;
    }

    // modify the path and url.
    $type = get_post_type($_REQUEST['post_id']);
    $uploads = apply_filters("{$type}_upload_directory", $type);
    $dir['path'] = path_join($dir['basedir'], $uploads);
    $dir['url'] = path_join($dir['baseurl'], $uploads);

    return $dir;
}

(@sterndata)

Moderatore del forum e volontario del team di supporto

3 anni fa

Suggerisco di porre domande su https://wordpress.org/support/plugin/w3-total-cache#new-post in modo che gli sviluppatori e la comunitĂ  di supporto del plugin / tema possano aiutarti in questo.

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *