كيفية إضافة المنطق الشرطي إلى موضوع WordPress الخاص بك

نشرت: 2021-02-25

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

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

فيما يتعلق بـ WordPress ، هناك عدد من العلامات الشرطية المفيدة المضمنة في البرنامج والتي تتيح لنا اختبار جميع أنواع السيناريوهات. إنها موثقة جيدًا وتسمح لك بجلب مستوى أعلى من الوظائف إلى موقعك.

اليوم ، سنلقي نظرة على عدد قليل من العلامات الشرطية الأكثر استخدامًا وكيف يمكنك تنفيذها في موقعك الخاص.

ملاحظة حول استخدام العلامات الشرطية

العلامات الشرطية هي أجزاء من كود PHP ويجب أن تدخل في الموضوع النشط لموقعك. هناك عدد من الأماكن التي يمكنك فيها استخدام المنطق الشرطي داخل السمة.

إذا لم تكن قد قمت بذلك بالفعل ، فمن الجيد أن تتعرف على التسلسل الهرمي لقالب WordPress للحصول على شرح لكيفية عمل ملفات السمات.

وقبل محاولة تنفيذ رمز جديد على موقع مباشر ، من الأفضل إعداد بيئة تطوير (انطلاق) لاختبار الأشياء أولاً. تذكر أن إحدى الخطوات الخاطئة باستخدام PHP يمكن أن تمنح موقعك "شاشة الموت البيضاء" المخيفة. لذا احرص على إجراء الاختبار قبل العمل على موقع مباشر.

is_home ()

هذا يسبب ارتباكًا كبيرًا بين المطورين. بالنظر إلى العلامة ، تفترض أن is_home() سيُستخدم للتحقق من الصفحة الرئيسية لموقعك. هذا ليس هو الحال.

إنه يبحث بالفعل عن الصفحة المخصصة كصفحة منشوراتك ، والتي تم تعيينها في الإعدادات> القراءة داخل لوحة معلومات WordPress. بشكل افتراضي ، يستخدم WordPress صفحتك الرئيسية لسرد المنشورات - لكن معظم المواقع تميل إلى استخدام صفحة رئيسية ثابتة بدلاً من ذلك.

لذلك ، على سبيل المثال ، إذا قمت بتعيين صفحة باسم "مدونة" كصفحة منشورات ، فهذا ما سيبحث عنه is_home() .

 <?php // If this the Posts page, display a message. if ( is_home() ): echo '<h2>Thanks for visiting our blog!</h2>'; endif; ?>

is_front_page ()

على العكس من ذلك ، is_front_page() عن أي صفحة تم تعيينها كمنزل لموقعك - ​​بغض النظر عما إذا كانت ثابتة أم لا. من المسلم به أن هذا ليس هو الشيء الأكثر وضوحًا في العالم عندما تتعلم إنشاء السمات الخاصة بك. لكن معرفة العلامة التي يجب استخدامها أمر حيوي.

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

 <?php // If this is the home page, show a special message. if ( is_front_page() ) { ?> <h1>Welcome</h1> <?php // Otherwise, show the page title. } else { ?> <?php the_title( '<h1 class="entry-title">', '</h1>' ); ?> <?php } ?>

is_single () و is_page ()

كل من هذه العلامات تؤدي وظيفة مزدوجة. is_single() يبحث لمعرفة ما إذا كان عنوان URL الحالي عبارة عن منشور أم لا. يمكن أن يكون منشور مدونة قياسي أو مرفق أو ينتمي إلى نوع منشور مخصص.

وبالمثل ، فإن is_page() سيعود صحيحًا إذا كان عنوان URL الحالي عبارة عن صفحة. بشكل افتراضي ، تستهدف كلتا العلامتين أي محتوى يقع تحت مظلة صفحة أو منشور. هذا خيط مشترك بين العديد من العلامات الشرطية.

 <?php // Target all posts. if ( is_single() ): echo 'You are on a single post.'; endif; // Target all pages. if ( is_page() ): echo 'This is a page'; endif; ?>

ولكن يمكنك أيضًا الاستفادة من هذه العلامات لاستهداف منشور أو صفحة معينة عن طريق إضافة معرف أو سبيكة.

 <?php // Target About Us if ( is_page( 'about-us' ) ): ?> <a href="#"></a> <?php endif; ?>

سيسمح لك استخدام المصفوفة باستهداف أجزاء متعددة من المحتوى.

 <?php // Target About Us and Contact Us pages. if ( is_page( array('about-us', 'contact-us') ) ): ?> <a href="#"></a> <?php endif; ?>

is_tax () و has_term ()

تلعب التصنيفات دورًا كبيرًا في كيفية تنظيم المحتوى على الموقع. من أكثر الفئات والعلامات شيوعًا - والتي لها علامات شرطية خاصة بها. لكن WordPress يمكّننا أيضًا من إنشاء تصنيفاتنا الخاصة.

على سبيل المثال ، إذا كان موقعك يحتوي على مراجعات للموسيقى ، فقد يكون لديك تصنيف يسمى "النوع". من هناك ، يمكنك إدراج أنواع معينة من الموسيقى ضمن هذا التصنيف مثل "موسيقى الروك" و "الهيب هوب" و "الجاز".

is_tax() يستهدف صفحة أرشيف التصنيف. بالبقاء مع مثال مراجعة الموسيقى الخاصة بنا ، سيتم تنشيط هذه العلامة (تدخل حيز التنفيذ) عندما نكون في صفحة الأرشيف لكل نوع من الأنواع المحددة.

 <?php // Display a message on our Genre archive pages. if (is_tax('genre','rock','hip-hop','jazz') ): echo '<h2>This is a genre archive. Enjoy!</h2>'; endif; ?>

has_term() يُستخدم لاستهداف المنشور الحالي بناءً على التصنيف الذي ينتمي إليه. هذا مفيد إذا أردنا ، على سبيل المثال ، إضافة رسم خاص للمنشورات في كل نوع من أنواع الموسيقى على موقعنا.

 <?php // Show an image for the Rock genre. if (has_term('rock','genre') ): ?> <?php endif; ?>

is_page_template ()

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

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

 <?php // Add a search form to the Services page template. if (is_page_template('services.php') ): ?> <?php get_search_form(); ?> <?php endif; ?>

تم استيفاء جميع الشروط

في حين أن هذا كان مجرد مقدمة موجزة لكيفية استخدام المنطق الشرطي ، نأمل أن يثير شهيتك لتعلم المزيد.

بمجرد إتقان الشروط ، ستتمكن من تخصيص موقعك بطرق قد تكون شبه مستحيلة بخلاف ذلك.

يمكن أن تمنحك تحكمًا دقيقًا في شكل وتصميم المظهر الخاص بك مع الاستمرار في الاستفادة من جميع مزايا استخدام CMS.