إضافة منشور متعدد اللغات باستخدام ACF في ووردبريس
في عالم تطوير المواقع الإلكترونية، يعتبر نظام إدارة المحتوى ووردبريس من أكثر الأنظمة شعبيةً، حيث يوفر مجموعة متنوعة من الإضافات التي تعزز من وظائفه. أحد هذه الإضافات هو WPML، الذي يسهل إضافة المحتوى متعدد اللغات. بالاعتماد على نماذج ACF (Advanced Custom Fields)، يمكن للمستخدمين إضافة منشورات جديدة بكل سهولة ومرونة. في هذا المقال، سنتناول كيفية إضافة منشور جديد متعدد اللغات باستخدام نموذج ACF في واجهة المستخدم، بالإضافة إلى استخدام كود مخصص في ملف functions.php.
الخطوة 1: إعداد WPML و ACF
قبل البدء في عملية إضافة منشور جديد، يجب التأكد من تثبيت وتفعيل كل من إضافتي WPML و ACF. يوفر WPML واجهة مرنة لترجمة المحتوى، بينما يسمح ACF بإنشاء حقول مخصصة تضيف المزيد من التخصيص لموقعك. بعد التثبيت، قم بضبط إعدادات WPML لتناسب لغاتك المستهدفة.
الخطوة 2: إنشاء نموذج ACF
لتسهيل عملية إضافة المحتوى، يجب عليك إنشاء نموذج ACF للواجهة الأمامية. انتقل إلى لوحة التحكم الخاصة بك، ثم إلى قسم ACF. قم بإنشاء مجموعة حقول جديدة وأضف الحقول اللازمة مثل عنوان المنشور، المحتوى، والحقول المخصصة الأخرى.
الخطوة 3: إضافة نموذج ACF إلى الواجهة الأمامية
بعد إنشاء نموذج ACF، عليك إضافته إلى الواجهة الأمامية لموقعك. يمكنك القيام بذلك باستخدام الرمز المختصر أو من خلال قوالب PHP الخاصة بك. هذا سيمكن المستخدمين من ملء النموذج وإضافة منشورات جديدة بكل سهولة.
الخطوة 4: استخدام كود مخصص في functions.php
لضمان حفظ المنشورات بنجاح، يجب إضافة كود مخصص إلى ملف functions.php الخاص بالقالب الذي تستخدمه. نستخدم هنا دالة acf/save_post
وهي تستجيب لحدث حفظ المنشور. إليك نموذج للكود الذي يمكنك إضافته:
add_action('acf/save_post', 'my_acf_save_post');
function my_acf_save_post($post_id) {
// تحقق مما إذا كان المستخدم لديه الصلاحيات
if (!current_user_can('edit_post', $post_id)) {
return;
}
// تحقق مما إذا كانت واجهة ACF تعمل
if (get_post_type($post_id) != 'post') {
return;
}
// هنا يمكنك إضافة أي كود إضافي لحفظ حقول ACF أو التعامل مع المنشور المترجم
}
باستخدام هذا الكود، يمكنك تخصيص العمليات عند حفظ المنشور. تأكد من تعديل الشروط بحسب احتياجاتك.
الخطوة 5: ترجمة المنشورات باستخدام WPML
بعد إضافة المنشورات الجديدة باستخدام نموذج ACF، يمكنك استخدام WPML لترجمة هذه المنشورات إلى لغات أخرى. اذهب إلى منشورك في لوحة التحكم، وستجد خيارات ترجمة جديدة. قم بإضافة الترجمات المطلوبة واحفظ التغييرات.
استنتاج
إضافة محتوى متعدد اللغات باستخدام WPML ونموذج ACF يعتبر عملية سهلة وفعالة. من خلال اتباع الخطوات المذكورة أعلاه، يمكنك إنشاء واجهة مستخدم واضحة لمستخدميك، مما يسهل عليهم إضافة محتوى بلغات مختلفة. باستخدام الكود المخصص في functions.php، يمكنك ضمان حفظ المنشورات بشكل صحيح وتخصيص أي عمليات إضافية تود تنفيذها. بهذه الطريقة، ستتمكن من تحسين تجربة المستخدم وتعزيز موقعك بمحتوى ثري ومتعدد اللغات.