Verwenden der NextGEN-Galerie mit Bedrock

Kürzlich haben wir beschlossen, alle unsere älteren WordPress-Websites auf Bedrock zu migrieren. Wenn Sie Bedrock noch nicht verwendet haben, sollten Sie wissen, dass es sich im Grunde genommen um eine solide Grundlage handelt, die eine bessere Projektstruktur, eine bessere Composer-Integration, einfache Bereitstellungen mit Capistrano usw. bietet. Wir verwenden es für praktisch alle unsere neuen WordPress-Websites.

Wir haben ein Problem mit dem NextGEN Gallery-Plugin festgestellt, das derzeit nicht mit Bedrock kompatibel ist . Leider wird es von einer der Websites unserer Kunden - nämlich Scoala59.ro - verwendet, und wir konnten keinen einfachen Weg finden, es zu ersetzen. Es gibt einige Alternativen, von denen jedoch keine mit Bedrock kompatibel ist und eine einfache Möglichkeit zum Importieren von Bildern und Alben bietet. Wenn Sie ein solches Plugin kennen, lassen Sie es uns wissen :).

Die Inkompatibilität ergibt sich aus der Art und Weise, wie das Plugin seine Fotos speichert. Genauer gesagt wird die WP_HOME-Konstante anstelle von WP_SITEURL verwendet, wie hier beschrieben . Da wir bedrock-capistrano für Bereitstellungen verwenden , ist es einfach, den Ordner des Plugins so einzurichten, wie er in der Datei deploy.rb freigegeben ist:

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

Daher fügen wir neben den üblichen "Web / App / Uploads" auch den Ordner "Web / wp / wp-content / gallery" hinzu. Dies sollte normalerweise ausreichen, nur dass im Ordner "web / wp" Composer WordPress herunterlädt und installiert und im Grunde genommen unseren neuen Ordner überschreibt. Der Trick besteht darin, es erneut zu erstellen, sobald Composer fertig ist:

# 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'
Codesprache: Ruby ( Ruby )

Und das ist es! Es hat eine Weile gedauert, bis ich es herausgefunden habe, aber jetzt läuft NextGEN Gallery glücklich neben Bedrock.