Uso de NextGEN Gallery con Bedrock

Recientemente, decidimos migrar todos nuestros sitios web antiguos de WordPress a Bedrock . Si no ha usado Bedrock antes, debe saber que es básicamente una base más sólida que viene con una mejor estructura de proyecto, integración de Composer, implementaciones fáciles con Capistrano, etc. Lo estamos usando para prácticamente todos nuestros nuevos sitios web de WordPress.

Nos encontramos con un problema con el complemento NextGEN Gallery que por el momento no es compatible con Bedrock . Desafortunadamente, uno de los sitios web de nuestro cliente, a saber, Scoala59.ro , lo está utilizando y no pudimos encontrar una manera fácil de reemplazarlo. Existen algunas alternativas, pero ninguna de las cuales es compatible con Bedrock y ofrece una manera fácil de importar las imágenes y álbumes. Si conoce alguno de estos complementos, háganoslo saber :).

La incompatibilidad proviene de la forma en que el complemento almacena sus fotos. Más precisamente, está usando la constante WP_HOME en lugar de WP_SITEURL como se describe aquí . Dado que estamos usando bedrock-capistrano para implementaciones , es fácil configurar la carpeta del complemento como compartida dentro del archivo deploy.rb :

set :linked_dirs , fetch( :linked_dirs , []).push( 'web/app/uploads' ).push( 'web/wp/wp-content/gallery' )
Lenguaje de código: Ruby ( ruby )

Entonces, además de las habituales "web / app / uploads", también estamos agregando la carpeta "web / wp / wp-content / gallery". Esto normalmente debería ser suficiente, solo que la carpeta “web / wp” es donde Composer descarga e instala WordPress, básicamente sobrescribiendo nuestra nueva carpeta. El truco consiste en volver a crearlo una vez que Composer termine:

# 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'
Lenguaje de código: Ruby ( ruby )

¡Y eso es! Me tomó un tiempo averiguarlo, pero ahora NextGEN Gallery está felizmente corriendo junto a Bedrock.