web-dev-qa-db-fra.com

Comment puis-je accélérer une bibliothèque multimédia à chargement lent?

Mon site WordPress est assez grand. Il est utilisé en tant que blog et système de gestion de contenu, avec une boutique WooCommerce. Il y a probablement plus de 2000 images dans la médiathèque à ce stade.

Mon problème est que chaque fois que de nouvelles images doivent être ajoutées à un article ou à un produit, cela est extrêmement lent.

J'ai désactivé tous les plugins sur le site Web lors d'un déploiement de test. La médiathèque est toujours incroyablement lente. J'ai également vérifié qu'il ne s'agit pas de charger des images en taille réelle, il semble que les images 300x300 moyennes soient en cours de chargement.

Généralement, le site a des temps de chargement acceptables pour les pages et dans l'admin. Ils pourraient être plus rapides, mais ils ne sont pas plus d'une seconde ou deux pour les pires pages.

Je pense que le problème principal est que chaque fois que vous cliquez sur le bouton d’ajout de média, la bibliothèque charge chaque image jamais placée sur le site. La vue liste est beaucoup, beaucoup plus rapide. Toutefois, ce type de vue n’est pas disponible lors de l’ajout d’une image dans une publication - ou lors du téléchargement d’une nouvelle image de produit, les vignettes qui affichent toutes les images sont affichées par défaut.

Que puis-je faire pour accélérer la médiathèque?

4
gan

Je copie un réponse précédente ici car je pense que cela aidera. Cela aura pour effet que chaque fois que la médiathèque apparaîtra, au lieu d'afficher all media pour une publication donnée, elle sera filtrée pour ne contenir que les images attachées à la publication. Vous pouvez coller ce droit dans votre fichier de fonctions:

/**
 * Media Module - Only Show Images Uploaded To this Post
 */
function wpse222583_media_library_filter() { 
    ?>
      <script type="text/javascript">
        jQuery( document ).on( 'DOMNodeInserted', function() {
            jQuery( 'select.attachment-filters [value="uploaded"]' ).attr( 'selected', true ).parent().trigger( 'change' );
        } );
      </script>
    <?php 
}
add_action( 'admin_footer-post-new.php', 'wpse222583_media_library_filter' );
add_action( 'admin_footer-post.php', 'wpse222583_media_library_filter' );

Ce qui précède ne supprime pas le filtre du module média. Par conséquent, si vous avez besoin de voir tous les médias, vous pouvez simplement modifier le filtre dans le panneau d'administration, mais il est préréglé pour afficher uniquement les médias attachés.

Media Library Filter Dropdown List

Si cela ne fonctionne pas, il y a une tonne d'autres réponses à cette ancienne question } que j'estime liées.

3
Howdy_McGee