❗️ لم يعد GRRR يحتفظ بهذا المكون الإضافي.
نوصي باستخدام الخطة الاحترافية للمكون الإضافي Simply Static. عندما بدأنا هذا البرنامج الإضافي، قام بإصلاح عدم وجود ميزة النشر في Simply Static. منذ ذلك الحين، تم تحديث المكون الإضافي، وتقدم الخطة الاحترافية ما كنا نفتقده بالضبط.
لقد ساهمت GRRR بالكود والميزات في المكون الإضافي Simply Static، ويسعدنا أن نراها تنمو.
نقترح عليك إلقاء نظرة، فهي تستحق الاستثمار.
شكرا لكل من اهتم بهذا البرنامج المساعد!
إذا كنت قد استمتعت باستخدام هذا البرنامج الإضافي أو استلهمته بأي شكل من الأشكال، فربما ترغب في متابعة مدونتنا، حيث نكتب عن عملنا والأشياء التي نتعلمها على طول الطريق: grrr.tech.
يتطلب هذا البرنامج المساعد:
يجب تثبيت هذا البرنامج المساعد باستخدام الملحن.
تأكد من تكوين مسارات التثبيت الصحيحة في composer.json
الخاص بك. يجب القيام بذلك قبل طلب الحزمة:
"extra" : {
"installer-paths" : {
"wp-content/plugins/{$name}/" : [ " type:wordpress-plugin " ]
}
}
التثبيت عبر الملحن:
$ composer require grrr-amsterdam/simply-static-deploy
إذا كنت لا تستخدم Composer في مشروعك حتى الآن، فتأكد من طلب أداة التحميل التلقائي للملحن. سيكون المكان الجيد هو wp-config.php
:
/** Sets up WordPress vars and included files. */
require_once ABSPATH . ' vendor/autoload.php ' ; # ‹— add this
require_once ABSPATH . ' wp-settings.php ' ;
قم أولاً بتعريف SIMPLY_STATIC_DEPLOY_CONFIG
في تكوين WordPress الخاص بك:
define ( ' SIMPLY_STATIC_DEPLOY_CONFIG ' , [
' aws ' => [
' key ' => ' ... ' , # AWS access key
' secret ' => ' ... ' , # AWS secret key
' region ' => ' ... ' , # AWS region
' bucket ' => ' ... ' , # S3 bucket
' bucket_acl ' => ' ... ' , # S3 bucket ACL (optional, defaults to `public-read`)
' distribution ' => ' ... ' , # CloudFront distribution ID (optional, step is skipped when empty)
' endpoint ' => ' ... ' , # For usage with providers other than AWS (optional)
],
' url ' => ' ... ' , # Website url (used for displaying url after deploy is finished)
]);
ثم قم بتكوين المكون الإضافي Simply Static عبر واجهة الإدارة. الإعداد الأكثر أهمية للحصول على الحق هو:
Delivery Method
: اضبط على Local Directory
(تتم مزامنة الملفات مع S3، ولن يعمل الرمز البريدي)الإعدادات الأخرى التي يجب عليك الانتباه إليها:
Additional URLs
: أضف أي عنوان URL يتعذر على المكون الإضافي العثور عليهAdditional Files and Directories
: إضافة أدلة إضافية (على سبيل المثال أصول الواجهة الأمامية)URLs to Exclude
: على سبيل المثال مجلد التحميلات (ولكن فقط عندما تقوم بإلغاء تحميل التحميلات في وقت التشغيل) إذا تم تكوين كل شيء بشكل صحيح، فاضغط على Generate & Deploy
في علامة التبويب Deploy
.
تأتي الصفحات/المنشورات مع زر نشر واحد، بحيث يمكن إنشاء صفحة واحدة ونشرها، راجع واجهة مستخدم نشر صفحة واحدة/منشور واحد.
يمكن أيضًا إجراء نشر منشور أو صفحة واحدة بشكل متكرر عن طريق تحديد الخيار التكراري، راجع مربع الاختيار في واجهة مستخدم نشر الصفحة الواحدة/المنشور. عند تحديد الخيار "العودي"، سيتم إنشاء ونشر جميع الصفحات/المشاركات التي تحتوي على عنوان URL للصفحة/المنشور الحالي.
المرشحات المتاحة لتعديل الإعدادات والبيانات التي تم تمريرها إلى البرنامج المساعد:
الإجراءات المتاحة للاستدعاء أو التصرف بناءً عليها:
قم بتعديل الإدخالات من خيار "الملفات والدلائل الإضافية". افتراضيًا، يتم تحويل جميع المسارات مؤقتًا إلى مسارات مطلقة عبر المسار الحقيقي، لضمان حل الروابط الرمزية. يتم تمرير مجموعة من الملفات غير المعدلة من الخيارات كوسيطة.
add_filter ( ' simply_static_deploy_additional_files ' , function ( array $ files ) {
# Modify files, and possibly resolve paths with `realpath`.
return $ files ;
});
ملاحظة: أثناء إنشاء الموقع الثابت، يتم تحديث إعداد additional_files
. يتم استعادته عند الانتهاء.
عند القيام بعملية نشر واحدة، سيتم إنشاء الصفحة/المنشور المحدد فقط، بما في ذلك الملفات المقدمة في إعداد "الملفات الإضافية" البسيط الثابت. يمكنك تغيير هذه الملفات الإضافية لعمليات النشر الفردية عبر عامل التصفية simply_static_deploy_single_additional_files
. يستغرق الأمر وسيطتين: الأولى عبارة عن مجموعة من أسماء الملفات، والثانية هي مثيل Simple Static Options.
قم بتعديل الإدخالات من خيار "عناوين URL الإضافية". يمكن أن يكون هذا مفيدًا لإضافة الصفحات التي لا يمكن العثور عليها بواسطة Simply Static (غير موجودة في خريطة الموقع، أو مستبعدة بكلمة مرور، أو لا تحتوي على noindex
، وما إلى ذلك...). يتم تمرير مجموعة من عناوين URL غير المعدلة من الخيارات كوسيطة.
add_filter ( ' simply_static_deploy_additional_urls ' , function ( array $ urls ) {
# Modify urls, for example by adding missing pages.
return $ urls ;
});
ملاحظة: أثناء إنشاء الموقع الثابت، يتم تحديث إعداد additional_urls
. يتم استعادته عند الانتهاء.
يضيف هذا الفلتر خيار تخصيص إعداد عنوان URL القابل للاستبعاد. يمكن أن يكون هذا مفيدًا عندما تريد، على سبيل المثال، تجاهل الاستثناءات عندما يحتوي عنوان url على عنوان url الأصلي المتكرر.
add_filter ( ' simply_static_deploy_recursive_excludable ' , function (
$ excludable ,
string $ staticPageUrl ,
string $ recursiveUrl
) {
# Modify excludable url logic, for example ignore excludeable url setting when current page contains the recursiveUrl
return $ excludable ;
});
يتم الاتصال به من المكون الإضافي، ويتلقى كائن WP_Error
يشرح الخطأ. يمكنك أن تقرر كيفية التعامل مع الخطأ، على سبيل المثال عن طريق تسجيله باستخدام خدمة من اختيارك.
add_action ( ' simply_static_deploy_error ' , function ( WP_Error $ error ) {
# Handle the error.
});
سيتم تشغيل هذا بعد الانتهاء من جميع مهام النشر. الوسيطة الأولى والوحيدة التي ستحصل عليها في وظيفة رد الاتصال هي مثيل خيارات Simply Static.
add_action('simply_static_deploy_complete' , function (Simply_StaticOptions $options) {
// Finished static deploy job.
});
يتم استدعاؤه عند انتهاء Simple Static من إنشاء الموقع الثابت. يتيح لك هذا تعديل الملفات التي تم إنشاؤها قبل نشرها. يتم تمرير دليل الموقع الثابت كوسيطة.
add_action ( ' simply_static_deploy_modify_generated_files ' , function (
string $ directory
) {
# Modify generated files, like renaming or moving them.
});
جدولة حدث النشر.
الحجج:
hourly
twicedaily
daily
. يمكن تمديده عبر cron_schedules. do_action ( ' simply_static_deploy_schedule ' , ' 12:00 ' , ' daily ' );
ملحوظة: من المهم أن يتم استدعاء WP-Cron بانتظام. يمكنك القيام بذلك عن طريق تعطيل آلية WP-Cron الافتراضية والتحول إلى الاتصال بها عبر وظيفة cronjob مخصصة.
لتعطيل WP–Cron الافتراضي (الذي يتم استدعاؤه عادةً عندما يزور المستخدم الصفحات)، قم بإضافة ما يلي إلى تكوين WordPress الخاص بك:
define ( ' DISABLE_WP_CRON ' , true );
قم بإنشاء cronjob باستدعاء WordPres WP-Cron. سيكون ضبطه على كل 5 دقائق خيارًا افتراضيًا جيدًا. على سبيل المثال عبر crontab -e
على جهاز Linux:
*/5 * * * * curl https://example.com/wp/wp-cron.php?doing-cron > /dev/null 2>&1
Fatal error: Uncaught Error: Class 'GrrrSimplyStaticDeploySimplyStaticDeploy' not found
تحقق من تعليمات التثبيت، واطلب أداة التحميل التلقائي للملحن في مشروعك.