إضافة فئات إضافية باستخدام apply_filters في ووردبريس
عند تطوير المواقع الإلكترونية باستخدام ووردبريس، غالبًا ما نحتاج إلى إضافة فئات (Classes) مخصصة إلى عناصر الـ HTML لتحسين تنسيق الصفحات وتجربة المستخدم. يمكننا تحقيق ذلك بسهولة باستخدام وظيفة apply_filters
. في هذا المقال، نستعرض كيفية استخدام هذا الأمر لإضافة فئات إضافية إلى عناصر الـ div باستخدام دالة مخصصة.
استخدام apply_filters لإضافة فئات مخصصة
في البداية، يعتبر apply_filters
طريقة قوية تسمح لك بإضافة وظائف مخصصة إلى أجزاء معينة من موقعك بدون الحاجة لتعديل الكود الأصلي لووردبريس. يمكن استخدام هذه الدالة ليس فقط لإضافة فئات جديدة، ولكن أيضًا لتعديل الميزات الأخرى في الموقع. لفهم آلية العمل، سنبدأ بمثال بسيط حول كيفية إضافة فئة مخصصة إلى عناصر الـ body في الصفحة.
إضافة فئة إلى جسم الصفحة
لنلقِ نظرة على كيفية إضافة فئة جديدة إلى جسم الصفحة باستخدام الوظيفة التالية:
function jm_custom_body_class( $classes ) {
$classes[] = 'custom-class';
return $classes;
}
add_filter( 'body_class', 'jm_custom_body_class' );
بالاعتماد على الكود أعلاه، نقوم ببساطة بإضافة فئة جديدة إلى مصفوفة الفئات الحالية. لكن ماذا عن الحالات التي نحتاج فيها إلى إضافة فئات إلى عناصر الـ div الأخرى؟ هنا يأتي دور apply_filters
.
كيفية إنشاء فلتر مخصص
عند الحاجة إلى إضافة فئات مخصصة أخرى، يمكننا إنشاء فلتر خاص بنا. إليك الطريقة:
add_filter( 'jm_content_wrap_classes', function ( $classes ) {
if ( ! is_array( $classes ) ) {
$classes = [ 'content-wrap' ];
}
if ( condition() ) {
$classes[] = 'row';
}
return $classes;
});
هنا، نتحقق من أن البريد مستلم كما يكون مصفوفة. بعد ذلك، نضيف فئة جديدة إذا تم استيفاء شرط معين، ثم نعيد قائمة الفئات المحدثة.
تطبيق الفلتر في قالب الصفحة
بعد إنشاء الفلتر، يمكنك استخدامه في القالب الخاص بك كالتالي:
$classes = apply_filters( 'jm_content_wrap_classes', [ 'content-wrap' ] );
printf( '<div class="%s">', esc_attr( implode( ' ', $classes ) ) );
هذا الكود يستدعي الفلتر الذي قمنا بإنشائه ويقوم بطباعة الـ div مع الفئات المخصصة.
التعامل مع استبدال الفئات
في بعض الأحيان، قد تحتاج إلى تعديل فئة موجودة بدلاً من إضافتها. لنأخذ مثالاً على ذلك:
function jm_test_class( $test_class ) {
$test_class = "content bg-primary"; // هنا سنستبدل الفئة الأصلية.
return $test_class;
}
add_filter( 'jm_content_area_wrap', 'jm_test_class' );
لكن من المهم أن نعلم أنه إذا تم استبدال الفئة الأصلية، فإننا نحتاج إلى إعادة إضافتها. لذا يجب توخي الحذر أثناء تعديل الفئات.
نصائح لتطبيقات أخرى
يمكن استخدام apply_filters
في مجالات متعددة في ووردبريس. على سبيل المثال، يمكنك استخدامه لتخصيص عناوين الصفحات، قوائم التنقل، وحتى العناصر البصرية الأخرى. كل ما عليك فعله هو تحديد اسم الفلتر المناسب واستدعاؤه في المكان الصحيح.
الحصول على تخطيط مخصص وتنسيق جميل لموقعك ليس بالأمر الصعب، كل ما تحتاجه هو فهم كيفية استخدام دالة apply_filters
. بممارسة هذه الأساليب، يمكنك تحسين واجهة موقعك بشكل كبير.
في الختام
استخدام apply_filters
لإضافة فئات إضافية إلى عناصر الـ div هو أسلوب فعّال وسهل التطبيق. إنه يمكن أن يساعدك في تحسين تجربة المستخدم الخاصة بك وخلق مظهر أكثر جاذبية لموقعك الإلكتروني. لذا، ابدأ بتجربة الأكواد السابقة وتخصيص موقعك بالطريقة التي تحبها.