قررنا مؤخرًا ترحيل جميع مواقع WordPress القديمة إلى Bedrock . إذا لم تكن قد استخدمت Bedrock من قبل ، فيجب أن تعلم أنه أساسًا أكثر صلابة يأتي بهيكل مشروع أفضل ، وتكامل Composer ، وعمليات نشر سهلة باستخدام Capistrano ، وما إلى ذلك. نحن نستخدمه تقريبًا لجميع مواقع WordPress الجديدة الخاصة بنا.
واجهنا مشكلة تتعلق بالمكوِّن الإضافي NextGEN Gallery والذي لا يتوافق حاليًا مع Bedrock . لسوء الحظ ، أحد مواقع عملائنا - وهو Scoala59.ro - يستخدمه ولم نتمكن من إيجاد طريقة سهلة لاستبداله. هناك بعض البدائل ولكن لا يتوافق أي منها مع Bedrock وتوفر طريقة سهلة لاستيراد الصور والألبومات. إذا كنت تعرف أي مكون إضافي من هذا القبيل ، فأخبرنا بذلك :).
يأتي عدم التوافق من الطريقة التي يخزن بها البرنامج المساعد صوره. بتعبير أدق ، إنه يستخدم ثابت WP_HOME بدلاً من WP_SITEURL كما هو موضح هنا . نظرًا لأننا نستخدم bedrock-capistrano لعمليات النشر ، فمن السهل إعداد مجلد المكون الإضافي كما هو مشترك داخل ملف publish.rb :
set :linked_dirs , fetch( :linked_dirs , []).push( 'web/app/uploads' ).push( 'web/wp/wp-content/gallery' )
لغة الكود: روبي ( روبي )
لذلك بالإضافة إلى "الويب / التطبيق / التحميلات" المعتادة ، نضيف أيضًا مجلد "web / wp / wp-content / gallery". يجب أن يكون هذا كافيًا في العادة ، إلا أن مجلد "web / wp" هو المكان الذي يقوم فيه Composer بتنزيل WordPress وتثبيته ، مما يؤدي إلى الكتابة فوق المجلد الجديد. الحيلة هي إنشائه مرة أخرى بمجرد انتهاء Composer:
# 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'
لغة الكود: روبي ( روبي )
وهذا كل شيء! استغرق الأمر بعض الوقت لمعرفة ذلك ، ولكن معرض NextGEN يسعد الآن جنبًا إلى جنب مع Bedrock.