المراجعات Revisions في ووردبريس وكيفية التحكم بها.

Image result for wordpress revisions design

 

يُعتبر نظام المراجعات  Revisions System في الووردبريس من الأمور المؤثرة على أداء performance موقعك الإلكتروني، خاصة إذا كان موقع ضخم ،يضم الكثير من المحررين والتدوينات Posts، لذلك نعرض هذا المقال لتوضيح كيفية إدارة المراجعات وتحسينها.

كيف يعمل نظام المراجعات على ووردبريس ؟

يوفر WordPress نظام المراجعات الذي يقوم بحفظ نسخة كاملة من كل صفحة page أو منشور post دون أن تضطر لحفظه يدوياً ، كما يمكنك استعادة أى مراجعة Revision تريدها، و تعقد مقارنة comparison  بين أي نسختين.

 

3-compare-two-revisions.png

 

 

ولكن إذا تُرك الأمر عشوائياً سوف تمتلىء قواعد البيانات بالكثير من المعلومات التي لن تستخدم أبداً، لأن كل منشور يتطلب Row منفصل على WordPress posts table ،كما يحتاج إلى العديد من المدخلات إلى Postmeta و term- relationships، وهذا بالطبع له تأثيره على أداء الموقع. 

ولكن يمكننا التحكم في إدارة المراجعات وتحسينها بعدة طرق مثل :

 

1- تحديد عدد المراجعات Limiting Revisions.

يمكنك تعيين وتحديد عدد المراجعات Revision من خلال ملف wp-confing.php، ولكن إن لم تكن على دراية به عليك استشارة أحد المطورينDeveloper، لأن خطأ بسيط في هذا الملف قد يفسد موقعك على ووردبريس بالكامل.

وهذا الملف يوفر لك 3 خيارات خاصة بتحديد WP_POST_REVISION وهى :

  • تعطيل المراجعات تماما في موقعك بإضافة :

 

define(WP_POST_REVISIONS’, 0); 

  • تحديد عدد المراجعات بتغيير الصفر إلى عدد صحيح موجب، فعلى سبيل المثال نقوم بتغييره للرقم 10، وهذا يعنى أن عدد المراجعات لكل صفحة أو منشور لن تتعدى الـ 10 مراجعات، بالإضافة إلى مراجعة واحده للحفظ التلقائى ، وسيقوم بحذف المراجعات القديمة old revisions تلقائياً ولتفعيل هذا الإختيار نقوم   بإضافة :
define(WP_POST_REVISIONS’, 10); 

  • العودة إلى نظام المراجعات الغير محدودة ، إما أن تقوم بمسح الكود من الملف أو تقوم بتغيير القيمة إلى -1 وقم بإضافة :

 

define(WP_POST_REVISIONS’, -1); 


4-setting-revisions-configuration1.png

 

2- الإضافات الخاصة بالمراجعات Revisions Plugins.

إذا وجدت صعوبة في تعديل نظام المراجعات يدوياً، يمكنك استخدام بعض الـ Plugins التي تقوم بهذه المهمة مثل WP Revisions Limit الذي يقوم بالحد من عدد المراجعات بحذف المراجعات المتطابقة Identical Revisions.

 

3- تحديد المراجعات بطريقة برمجية .

يمكنك استخدام  الـ filter المسمى بـ  wp_revisions_to_keep ، ليسهل عليك التحكم في كيفية التعامل مع مراجعات كل منشور، عن طريق الـ plugins الموجودة في ملف الـ function.php .

ويقوم هذا الـ  filter على عاملين هما :

  • العدد الافتراضي للمراجعات التي سيتم حفظها.
  • wp_post object ويمثل نوع المنشور post الذي تريد ضبط المراجعات فيه.

وبالطبع يمكنك تحديد نوع المنشور الذي تريده، ما دمت أعددت object صحيح كما في المثال الأتى:

 

add_filter( ‘wp_revisions_to_keep’, ‘control_revisions’, 10, 2 );

function control_revisions($num, $post) {

if(‘custom_post’ == $post>post_type) $num = 5;

return $num;

}

كما يمكنك استخدام WordPress REST  لمسح واستعادة المراجعات حسب ما تريد

list, retrieve and delete revisions .

 

4- هل يمكن حذف المراجعات القديمة Old Revisions .

دعنا نوضح الأمر، أولاً عليك تثبيت WP_POST_REVISION بعد البدء باستخدام الووردبريس مباشرة، ولكن كُن على علم بأنه لا يقوم بمسح المراجعات Remove Revision من قاعدة بيانات MYSQL Database تماما، ولكنه فقط يعمل على تحسينها وتنظيفها Clean and Optimization ،وعليك الحذر عند اتخاذ اى إجراء في نظام المراجعات، حتي لا تتسبب في انهيار موقعك ،ولتتجنب هذا الأمر احفظ نسخة احتياطية من قاعدة البيانات الخاصة بك.

يمكنك أيضا تسهيل الأمر باستخدام إضافة WP-Optimize فهي تمكنك من حذف الأشياء الغير ضرورية من قاعدة بيانات ووردبريس مثل المراجعات والتعليقات المحذوفة والمسودات وغيرها….

 

 

wp-optimize plugin

 

على العكس تماماً من استخدام أمر SQL Command، فهو أمر صعب وقد يعرض موقعك للخطر، لأنه يتطلب الوصول إلى Wordpress table_prefix أولاً، فهي المسئولة عن ملف WP-Confing-php المسؤل عن المراجعات.

 

مثال :

لنفرض أن wp هو الإعداد الافتراضي، وتم تعيين الكود التالي، مع إمكانية تغيير الـ references إذا لزم الأمر، ولحذف كل المراجعات الخاصة بالصفحات والمنشورات، فنبدأ أولاً بـ أداة MYSQL Administration مثل phpMyAdmin ثم نقوم بتنفيذ الأمر كالأتي:

DELETE a,b,c

FROM wp_posts a

LEFT JOIN wp_term_relationships b ON ( a.ID = b.object_id )

LEFT JOIN wp_postmeta c ON ( a.ID = c.post_id )

LEFT JOIN wp_term_taxonomy d ON ( b.term_taxonomy_id = d.term_taxonomy_id )

WHERE a.post_type = ‘revision’

AND d.taxonomy != ‘link_category’;

الخلاصة:

نظام المراجعات في ووردبريس يؤثر على قاعدة بيانات الموقع لذلك يجب الاهتمام بتحسينه ،سواء بحذف المراجعات أو تحديدها بعدد معين لكل بوست أو صفحة ولكن كن على حذر لأن اى اجراء خاطىء قد ينهي موقعك ولتجنب ذلك يمكنك استخدام بعض الاضافات التي تقوم بالأمر تلقائياً.

 

 

مترجم، بتصرف عن How to Take Control of Page and Post Revisions in WordPress

                                                      By Craig Buckler April 21, 2017

مقالات ذات صلة