Utilizzo di NextGEN Gallery con Bedrock

Recentemente abbiamo deciso di migrare tutti i nostri vecchi siti Web WordPress su Bedrock . Se non hai mai usato Bedrock prima, dovresti sapere che è fondamentalmente una base più solida che viene fornita con una migliore struttura del progetto, integrazione di Composer, implementazioni facili con Capistrano e così via. Lo stiamo utilizzando praticamente per tutti i nostri nuovi siti Web WordPress.

Abbiamo riscontrato un problema riguardante il plugin NextGEN Gallery che al momento non è compatibile con Bedrock . Sfortunatamente uno dei siti Web dei nostri clienti, ovvero Scoala59.ro , lo sta utilizzando e non siamo riusciti a trovare un modo semplice per sostituirlo. Ci sono alcune alternative, ma nessuna delle quali è compatibile con Bedrock e offre un modo semplice per importare le immagini e gli album. Se conosci uno di questi plugin, faccelo sapere :).

L'incompatibilità deriva dal modo in cui il plugin memorizza le sue foto. Più precisamente, utilizza la costante WP_HOME invece di WP_SITEURL come descritto qui . Poiché utilizziamo bedrock-capistrano per le distribuzioni , è facile configurare la cartella del plug-in come condivisa all'interno del file deploy.rb :

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

Quindi oltre al solito "web / app / uploads", stiamo aggiungendo anche la cartella "web / wp / wp-content / gallery". Questo normalmente dovrebbe essere sufficiente, solo che la cartella "web / wp" è dove Composer scarica e installa WordPress, in pratica sovrascrivendo la nostra nuova cartella. Il trucco è crearlo di nuovo una volta che Composer ha finito:

# 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'
Linguaggio codice: Ruby ( ruby )

E questo è tutto! Ci è voluto un po 'per capirlo, ma ora NextGEN Gallery sta correndo felicemente insieme a Bedrock.