Utilisation de NextGEN Gallery avec Bedrock

Récemment, nous avons décidé de migrer tous nos anciens sites Web WordPress vers Bedrock . Si vous n'avez jamais utilisé Bedrock auparavant, sachez qu'il s'agit essentiellement d'une base plus solide qui vient avec une meilleure structure de projet, une intégration Composer, des déploiements faciles à l'aide de Capistrano, etc. Nous l'utilisons pour pratiquement tous nos nouveaux sites Web WordPress.

Nous avons rencontré un problème concernant le plugin NextGEN Gallery qui pour le moment n'est pas compatible avec Bedrock . Malheureusement, l'un des sites Web de nos clients - à savoir Scoala59.ro - l'utilise et nous n'avons pas vraiment trouvé de moyen facile de le remplacer. Il existe des alternatives mais aucune n'est compatible avec Bedrock et offre un moyen facile d'importer les images et les albums. Si vous connaissez un tel plugin, faites-le nous savoir :).

L'incompatibilité vient de la façon dont le plugin stocke ses photos. Plus précisément, il utilise la constante WP_HOME au lieu de WP_SITEURL comme décrit ici . Puisque nous utilisons bedrock-capistrano pour les déploiements , il est facile de configurer le dossier du plugin comme partagé dans le fichier deploy.rb :

set :linked_dirs , fetch( :linked_dirs , []).push( 'web/app/uploads' ).push( 'web/wp/wp-content/gallery' )
Langage de code: Ruby ( ruby )

Ainsi, en plus de l'habituel «web / app / uploads», nous ajoutons également le dossier «web / wp / wp-content / gallery». Cela devrait normalement suffire, seulement que le dossier «web / wp» est l'endroit où Composer télécharge et installe WordPress, écrasant essentiellement notre nouveau dossier. L'astuce consiste à le créer à nouveau une fois que Composer a terminé:

# Create symlinks again because Composer removes our web/wp/wp-content/gallery symlink. namespace :deploy do task :fix_symlinks do Rake::Task[ 'deploy:symlink:linked_dirs' ].reenable # Allow the task to be run again Rake::Task[ 'deploy:symlink:linked_dirs' ].invoke end end after 'deploy:finished' , 'deploy:fix_symlinks'
Langage de code: Ruby ( ruby )

Et c'est tout! Il a fallu un certain temps pour comprendre, mais maintenant NextGEN Gallery fonctionne avec bonheur aux côtés de Bedrock.