أوامر WP-CLI تتيح لك إدارة ووردبريس من الطرفية: تصدير قاعدة البيانات واستيرادها، تحديث النواة والإضافات والقوالب، تشغيل البحث والاستبدال، إدارة المستخدمين، إعادة توليد الصور، مسح الكاش، تشغيل أحداث Cron، وإدارة بيانات ووكومرس. الأوامر التالية هي الأكثر استخداما عندي، بصيغتها الدقيقة وعادات الأمان المرتبطة بها.
هذا جزء من سلسلة الأتمتة.
ما هو WP-CLI ولماذا تستخدمه؟
WP-CLI أداة سطر الأوامر الرسمية لووردبريس. أسرع من النقر في لوحة التحكم، ويعمل حتى عندما تتعطل اللوحة، ويجعل المهام قابلة للتكرار في سكربتات. وفي السيرفرات البطيئة يتجنب انتهاء مهلة الويب في المهام الطويلة مثل إعادة توليد آلاف الصور المصغرة.
تأكد من توفره:
wp --info
wp core version
شغل الأوامر من مجلد ووردبريس الرئيسي أو أضف --path=/path/to/site.
النسخ الاحتياطي وقاعدة البيانات
# Export before anything risky
wp db export ~/backups/site-$(date +%F).sql
# Import (overwrites the database!)
wp db import ~/backups/site-2026-10-01.sql
# Database size and tables
wp db size --tables
# Optimise tables
wp db optimize
قاعدة لا أكسرها أبدا: صدر أولا ثم غير.
التحديثات
wp core check-update
wp plugin list --update=available
wp plugin update --all --dry-run
wp plugin update woocommerce
wp theme update --all
wp core update && wp core update-db
في المتاجر أحدث الإضافات الكبيرة واحدة تلو الأخرى على نسخة تجريبية أولا. ومع مراجعة الإضافات يبقى الموقع مستقرا.
البحث والاستبدال
الاستخدام الكلاسيكي: نقل موقع إلى نطاق جديد أو من HTTP إلى HTTPS. يتعامل WP-CLI مع البيانات المسلسلة بشكل صحيح بخلاف الاستبدال المباشر بـ SQL.
wp search-replace 'http://old.example.com' 'https://example.com' --all-tables --dry-run
wp search-replace 'http://old.example.com' 'https://example.com' --all-tables --precise
اقرأ نتيجة التشغيل التجريبي قبل التشغيل الفعلي. مفيد في نقل المواقع.
المستخدمون
wp user list --role=administrator --fields=ID,user_login,user_registered
wp user create jane [email protected] --role=editor
wp user update 12 --role=subscriber
wp user application-password list 1
مراجعة المدراء بانتظام جزء من قائمة الأمان.
المحتوى والخيارات
wp post list --post_type=page --fields=ID,post_title,post_status
wp post create --post_type=post --post_title='Draft title' --post_status=draft
wp post meta get 123 _thumbnail_id
wp option get permalink_structure
wp option update blog_public 1 # make sure search engines are not discouraged
wp rewrite flush
الوسائط
wp media regenerate --only-missing --yes
wp media import ~/images/*.jpg --post_id=123
wp media image-size
--only-missing لطيف على السيرفرات البطيئة. راجع تحسين الصور.
الكاش والـ transients
wp cache flush # object cache
wp transient delete --expired
wp transient delete --all
إضافات كاش الصفحات تسجل عادة أوامرها الخاصة، راجع wp help لترى ما هو مثبت.
Cron
wp cron event list
wp cron event run --due-now
wp cron test
التفاصيل في دليل WP-Cron.
ووكومرس
يضيف ووكومرس أوامر تحت wp wc تقابل REST API الخاص به، وأغلبها يحتاج مستخدما:
wp wc product list --user=1 --fields=id,name,sku,stock_quantity
wp wc order list --user=1 --status=processing
wp wc webhook list --user=1
wp wc tool run clear_transients --user=1
ذو صلة: ويب هوكس ووكومرس واستيراد المنتجات بملف CSV.
تشغيل PHP
wp eval 'echo get_bloginfo("name");'
wp eval-file scripts/fix-meta.php
wp shell
eval-file طريقتي المفضلة لإصلاحات البيانات لمرة واحدة: السكربت مراجع ومحفوظ في نظام إصدارات وقابل للتكرار.
كتابة أمر مخصص
عندما أكرر نفس الخطوات أصنع أمرا. داخل إضافة:
if ( defined( 'WP_CLI' ) && WP_CLI ) {
WP_CLI::add_command( 'mx stale-drafts', function ( $args, $assoc ) {
$days = isset( $assoc['days'] ) ? absint( $assoc['days'] ) : 90;
$posts = get_posts( array(
'post_status' => 'draft',
'numberposts' => -1,
'date_query' => array( array( 'before' => "$days days ago" ) ),
) );
foreach ( $posts as $p ) {
WP_CLI::log( sprintf( '%d %s', $p->ID, $p->post_title ) );
}
WP_CLI::success( count( $posts ) . ' stale drafts.' );
} );
}
شغله بـ wp mx stale-drafts --days=60. والأوامر المخصصة أكثر أمانا أيضا في العمل بمساعدة الذكاء الاصطناعي: أمر واحد مراجع أسهل في الثقة من تغييرات عشوائية كثيرة.
التشغيل عن بعد
يدعم WP-CLI أسماء SSH مستعارة في wp-cli.yml:
@prod:
ssh: [email protected]:22/home/user/public_html
ثم يعمل wp @prod plugin list على السيرفر من جهازك.
عادات الأمان
- صدر قاعدة البيانات قبل الأوامر التي تغير البيانات.
- استخدم
--dry-runعند توفره. - اختبر على نسخة تجريبية أولا.
- شغل المهام الثقيلة في أوقات قلة الزيارات على الاستضافات البطيئة.
- احفظ السكربتات في نظام إدارة الإصدارات.
أخطاء شائعة
- تشغيل search-replace دون تشغيل تجريبي.
- تشغيل الأوامر بمستخدم root، فتنشأ ملفات لا يستطيع سيرفر الويب الكتابة عليها.
- نسيان
--userفي أوامر ووكومرس. - التشغيل من المجلد الخطأ وتغيير موقع آخر.
إذا أردت أتمتة أعمال ووردبريس الروتينية لفريقك، تواصل معي.
الأسئلة الشائعة
ما هو WP-CLI؟
واجهة سطر الأوامر الرسمية لووردبريس، تتيح إدارة الإضافات والقوالب والمستخدمين والمحتوى وقاعدة البيانات والإعدادات من الطرفية دون لوحة التحكم.
كيف أمسح الكاش باستخدام WP-CLI؟
الأمر wp cache flush يمسح كاش الكائنات في ووردبريس، وإضافات كاش الصفحات توفر عادة أوامرها الخاصة، والأمر wp transient delete --all يمسح الـ transients.
هل WP-CLI متاح في الاستضافة المشتركة؟
كثير من الاستضافات توفره عبر SSH. راجع توثيق استضافتك، وإن لم يكن مثبتا يمكن غالبا إضافته كملف phar واحد في مجلدك الرئيسي.
هل يمكن أن يعطل WP-CLI موقعي؟
الأوامر التي تغير البيانات مثل search-replace أو تحديث الإضافات قد تفعل ذلك. صدر قاعدة البيانات أولا، واستخدم --dry-run عند توفره، واختبر على نسخة تجريبية.


