كيفية إلغاء تحديد فئة للوظائف بدون مكون إضافي بشكل مجمّع
نشرت: 2020-10-05"الفئة" هي تصنيف افتراضي في WordPress. يمكن للمشغلين استخدام الفئات لفرز منشورات المدونة وتجميعها في أقسام مختلفة. تساعد الفئات أيضًا الزائرين في التنقل في المواقع بشكل أسرع ، بالإضافة إلى معرفة الموضوعات التي تدور حولها مواقع الويب الخاصة بك. يمكن لمشغل موقع الويب تنفيذ العمليات الأساسية مع الفئات والمنشورات باستخدام لوحات إدارة WordPress وكذلك استخدام مكونات WordPress الإضافية للتعامل مع المنشورات بطرق مختلفة.
- 1. فهم كيف يتعامل WordPress مع طلبات الويب من العملاء؟
- 2. جداول مهمة للمعالجة المجمعة لمشاركات WordPress
- 3. نقل جميع المنشورات من فئة إلى فئة أخرى - باستخدام أوامر SQL
- 3.1 احصل على قائمة معرف لجميع المنشورات التي تنتمي إلى فئة معينة
- 3.2 احصل على معرف الفئة الجديدة
- 3.3 تحديث المنشورات مع قوائم الهوية المقدمة
- 4. الكلمات الأخيرة
ومع ذلك ، لا ينبغي أن يكون الإفراط في استخدام المكونات الإضافية لمواقع WordPress خيارًا لأنه ربما يتسبب في مشكلات محتملة في الأداء ومشكلات أمنية. في هذه المقالة ، دعنا نتعرف على كيفية إلغاء تحديد فئة منشورات بشكل مجمّع دون استخدام المكونات الإضافية .
فهم كيف يتعامل WordPress مع طلبات الويب من العملاء؟
يعد فهم كيفية تعامل خادم الويب مع طلب من العميل أمرًا ضروريًا للتعامل مع موقع WordPress. تتضمن العمليات التفصيلية عمليات إلغاء تحديد مجمعة في فئة.
خادم الويب النموذجي هو حزمة LAMP (Linux - Apache - MySQL / MariaDB - PHP). يمكن العثور على مفاهيم أخرى معادلة في منصات خادم الويب الأخرى.

يقوم برنامج LAMP بتكديس اتصالات الخادم والعميل
1. يرسل العميل طلبات HTTP لطلب بيانات الويب من خادم الويب.
2. يتلقى خادم الويب طلبات HTTP صالحة من العملاء (بعد تمرير قواعد جدار الحماية):
- تحليل بنية طلبات HTTP ، وتحديد صفحات HTML التي يحتاجها العملاء بالضبط ؛
- تحليل الطلبات إلى طبقات البرمجة النصية (PHP).
3. طبقات البرمجة PHP:
- الاستعلام إلى قاعدة البيانات ، والحصول على جميع المعلومات اللازمة ؛
- ادمجها مع شفرة المصدر في السمات لتقديم صفحات الويب الديناميكية ؛
- ارجع إلى خادم الويب.
4. خادم الويب:
- بناء رسائل استجابة HTTP.
- إرسال رسائل استجابة HTTP للعملاء.
5. يتلقى العميل رسائل استجابة HTTP من خادم الويب ، ثم يعرض بيانات الويب في متصفحات الويب الخاصة به.
جداول مهمة للمعالجة المجمعة لمشاركات WordPress
توجد حزمة من الجداول في مخطط قاعدة البيانات لمواقع WordPress. تختلف المخططات من موقع إلى آخر. ومع ذلك ، عند التلاعب في منشورات موقع WordPress ، يجب أن تكون هذه الجداول موضع اهتمام أكبر:
| اسم الطاولة | الأوصاف |
wp_postmeta | تخزين البيانات الإضافية المتعلقة بالمحتوى لموقع WordPress. |
wp_post | قم بتخزين جميع البيانات المهمة المتعلقة بالمحتوى لموقع WordPress. |
wp_term_relationships | قم بتخزين جميع بيانات الاقتران التي تربط المنشورات بالفئات والعلامات والروابط. تعمل المعلومات الواردة في هذا الجدول كخريطة بين كائنات المصطلحات والمصطلحات. |
wp_term_taxonomy | تخزين بيانات إضافية لجداول wp_terms . |
wp_term | فئات المتجر وعلامات المنشورات والصفحات والروابط. |
نقل كل المنشورات من فئة إلى فئة أخرى - باستخدام أوامر SQL
من أجل معالجة قاعدة بيانات WordPress مباشرة ، يحتاج المشغلون إلى تحديد نظام إدارة قواعد البيانات (DBMS) الذي يجب استخدامه. نظرًا لأن بيئة المعمل تستخدم LAMP stack كمنصة ويب ، يمكن للمشغلين العمل مع قواعد بيانات WordPress باستخدام phpMyAdmin ، ومكونات WordPress الإضافية ، وحتى عميل MySQL (أمر طرفي) من خلال جلسات SSH ... في هذا السيناريو ، يعد DBMS هو MySQL WorkBench لغرض توضيح أفضل.

قبل تنفيذ أي تغيير في قواعد بيانات WordPress ، يُنصح بالحصول على نسخة احتياطية كاملة من موقع WordPress. تتضمن هذه النسخة الاحتياطية الكاملة شفرة مصدر WordPress (السمات وملفات PHP ...) وهيكل قاعدة البيانات. للأغراض المثالية ، يمكن للمشغلين إنشاء نسخة احتياطية كاملة من المضيف بأكمله الذي يشغل موقع WordPress.
فيما يلي نصوص SQL الكاملة لنقل جميع المشاركات من فئة "Uncategorized" إلى فئة "Inspirations".
تعيينlistID = (
حدد GROUP_CONCAT (ID) من wp_posts
حيث post_type = "post"
AND post_status = "publish"
والمعرف في (
حدد object_id من wp_term_relationships
أين term_taxonomy_id في (
حدد term_taxonomy_id من wp_term_taxonomy
حيث التصنيف = "الفئة"
AND term_id IN (
حدد t.term_id من wp_terms t
حيث t.name = "Uncategorized"
)
)
)
) ؛
تعيين @ newCategoryID = (
حدد t.term_id من wp_terms t حيث t.name = "الإلهام"
) ؛
حدد @ newCategoryID ؛
تعيين sqlCmd = CONCAT (
"UPDATE wp_term_relationships tr"،
'SET tr.term_taxonomy_id ='،newCategoryID، "،
'WHERE tr.object_id IN ('،listID، ')؛'
) ؛
حدد sqlCmd ؛
تحضير stmt منsqlCmd ؛
تعيين SQL_SAFE_UPDATES = 0 ،
تنفيذ stmt ؛
ضبط SQL_SAFE_UPDATES = 1 ،
تفصيل تحضير stmt ؛سيتم شرح النص المفصل على النحو التالي.
احصل على قائمة معرف لجميع المنشورات التي تنتمي إلى فئة معينة
في هذا العرض التوضيحي ، سنشرح كيفية إلغاء تحديد جميع المشاركات من فئة "غير مصنف" بشكل مجمّع ثم نقلها إلى فئة جديدة تسمى "الإلهام".
من لوحة إدارة WordPress ، يتم فرز هذه المنشورات الثلاثة في فئة "غير مصنف".

أوامر SQL أدناه سوف تسترد معرّف المنشورات من فئة تسمى "Uncategorized".
تعيينlistID = (
حدد GROUP_CONCAT (ID) من wp_posts
حيث post_type = "post"
AND post_status = "publish"
والمعرف في (
حدد object_id من wp_term_relationships
أين term_taxonomy_id في (
حدد term_taxonomy_id من wp_term_taxonomy
حيث التصنيف = "الفئة"
AND term_id IN (
حدد t.term_id من wp_terms t
حيث t.name = "Uncategorized"
)
)
)
) ؛ تحقق من قيمة @listID :

احصل على معرف الفئة الجديدة
تعيين @ newCategoryID = (
حدد t.term_id من wp_terms t حيث t.name = "الإلهام"
) ؛ تحقق من قيمة @newCategoryID :

تحديث المنشورات مع قوائم الهوية المقدمة
أولاً ، قم ببناء أمر SQL وتخزينه في متغير @sqlCmd .
/ * تم تخزين الأمر المتوقع في متغيرsqlCmd:
تحديث wp_term_relationships tr
تعيين tr.term_taxonomy_id = 5
أين tr.object_id IN (131،132،133) ؛
* /
تعيين sqlCmd = CONCAT (
"UPDATE wp_term_relationships tr"،
'SET tr.term_taxonomy_id ='،newCategoryID، "،
'WHERE tr.object_id IN ('،listID، ')؛'
) ؛ثانيًا ، تحقق من ذلك:

أخيرًا ، قم بإصدار أوامر SQL المخزنة في المتغير @sqlCmd التالية:
تحضير stmt منsqlCmd ؛ تعيين SQL_SAFE_UPDATES = 0 ، تنفيذ stmt ؛ ضبط SQL_SAFE_UPDATES = 1 ، تفصيل تحضير stmt ؛
ها هي النتيجة:

الكلمات الأخيرة
هناك طرق مختلفة لإلغاء التحديد الجماعي لفئة المنشورات في مواقع WordPress. إما باستخدام المكونات الإضافية للتفاعل عبر واجهة الويب ، أو باستخدام أوامر SQL لإحداث تأثير مباشر على قاعدة بيانات WordPress ، يجب على المشغلين فهم العناصر الأساسية التي يتم تعديلها.
نأمل أن تمنحك هذه المقالة خيارًا آخر لإلغاء التحديد الجماعي لفئة المنشورات. للحصول على تقنيات أكثر فائدة في WordPress ، دعنا نتابع مقالاتنا القادمة!
إذا كنت تريد استخدام مكون إضافي لإلغاء تحديد فئة للمشاركات بسهولة أكبر ، فراجع هذه المقالة.
