قم بإجراء الاستعلامات في WordPress باستخدام WP_Query
نشرت: 2023-02-12قاعدة البيانات التي تغذي موقع WordPress الخاص بك مليئة بالمعلومات القيمة. هذا هو ما يجعل من الممكن تصفية منشوراتك وصفحاتك من خلال العديد من المتغيرات المختلفة. إذا لم يكن ما تريد عرضه جزءًا من قالبك ، فهناك طرق أخرى لاستخدام تلك البيانات.
هذا هو المكان الذي يأتي فيه WP_Query. هذه فئة PHP تستخدم مجموعة متنوعة من المعلمات. وبالتالي ، فإنه يمكّنك من سحب البيانات من قاعدة بيانات WordPress لاستخدامها أو عرضها على موقع الويب الخاص بك.
في هذه المقالة ، سوف نقدم فهمًا أعمق لفئة WP_Query وكيف يمكن استخدامها. سنرشدك أيضًا خلال بعض الخطوات المهمة التي يجب اتباعها عند استخدامه. إذا كنت مستعدًا ، فلنتعمق في الأمر!
ما هو WP_Query؟
كما ذكرنا ، WP_Query هي فئة PHP تستخدمها قاعدة بيانات WordPress. يمكن لهذا الفصل المحدد القيام بالعديد من الأشياء ، ولكن في المقام الأول يتم استخدامه لسحب المشاركات من قاعدة البيانات.
كما يشير اسمه ، يقوم بإجراء استعلام بناءً على المعايير التي تحددها له. نظرًا لوجود الكثير من المعلمات التي يمكنك استخدامها مع WP_Query في WordPress ، يمكنك سحب المنشورات وعرضها بعدة طرق فريدة. سنستكشف هذه الخيارات بمزيد من التفصيل لاحقًا في هذا المنشور.
كيفية استخدام WP_Query
حتى لو كنت تتعلم الجوانب المختلفة لقاعدة كود WordPress ، فإن WP_Query هو فصل جيد للبدء به. الآن ، دعنا نقسم أربع طرق مختلفة يمكنك استخدامها على موقع الويب الخاص بك.
1. ابدأ بحلقة مخصصة
واحدة من أفضل الطرق للتعرف على مكالمة WP_Query هي من خلال WordPress Loop. إذا لم تكن معتادًا على ماهية الحلقة ، فمن المهم أن تقرأها.
الحلقة الحلقية هي التي تستدعي قاعدة البيانات التي تطلب محتوى المنشور ، وتعرض البيانات التي تم إرجاعها. كما أنه يعمل بناءً على معلمات محددة ، مثل عدد المنشورات التي تريد أن يعرضها موقعك على صفحة واحدة (شيء يمكنك تكوينه في الإعدادات> قائمة القراءة ).
تبدو أساسيات الحلقة كما يلي:
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// Display post content
endwhile;
endif;
?>
هذه العبارة البسيطة تقول بشكل أساسي أنه إذا كانت هناك منشورات ، فيجب عرضها. بالطبع ، يمكنك إضافة مجموعة متنوعة من علامات القوالب إلى هذا الأساس ، من أجل إنشاء العرض الذي تريده.
يمكنك أيضًا إدراج WP_Query في الحلقة التكرارية. يمكّنك هذا من وضع معلمات على المنشورات التي سيتم إرجاعها. دعنا نقسم كيف سيبدو ذلك:
<?php
// The Query
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
سترى نفس عبارات if / while من الحلقة الأساسية ، ولكن هناك سلسلة WP_Query إضافية. مهما كانت المعلمات التي يتم تعيينها هنا ستحدد المنشورات التي سيتم عرضها.
على سبيل المثال ، إذا أردت استبعاد مؤلف معين من قائمة المنشورات ، فيمكنك فعل ذلك في الحلقة باستخدام WP_Query:
$query = new WP_Query( array( 'author' => -12 ) );
بوضع هذا في الحلقة ، فإن مشاركاتك المعروضة لن تتضمن بعد الآن المستخدم برقم المؤلف "12".
عدد المعلمات التي يمكنك استخدامها مع هذه الطريقة لا حصر له. يمكنك تضمين معلومات الفئات بالإضافة إلى التصنيفات المتقدمة ، فقط لإعطاء مثالين.
2. الوسيطات: العمود الفقري للاستعلامات المخصصة في WordPress
في المثال السابق ، ربما لاحظت "($ args)" كجزء من السلسلة. هذا جزء حيوي من الاستعلام الذي يشير إلى "الوسائط" المضمنة. يخبر قاعدة البيانات بالضبط بما يجب تضمينه في البيانات التي تم إرجاعها.
بشكل أساسي ، يمكن إعداد هذه الوسائط لتحديد النتائج الدقيقة التي تريد عرضها. يمكن استخدام الوسيطات لتغيير قيمة المتغيرات أيضًا. على سبيل المثال ، إذا كنت تريد تغيير كيفية ظهور قائمة الفئات الخاصة بك على الصفحة ، فيمكنك استخدام وسيطة.
ستحدد حجتك مجموعة من المتغيرات والقيم. لذلك إذا كنت ترغب في ذلك ، يمكنك استخدام وسيطة لتعريف مصفوفة وإخبار قاعدة البيانات الخاصة بك بتقديم الفئات بترتيب تنازلي. بالإضافة إلى ذلك ، يمكنك استخدام نفس الطريقة لاستبعاد أي فئات لا تحتوي على مشاركات.
3. المعلمات في WP_Query: الفئة والعلامة والمزيد
حتى هذه النقطة ، ذكرنا المعلمات فقط بشكل عابر. في هذه المرحلة ، دعنا نلقي نظرة فاحصة على ما يمكنهم فعله بالفعل. وتتمثل مهمتهم الأساسية في تمكينك من سحب مجموعات منشورات مصممة خصيصًا.
أحد الأمثلة على المعلمة التي يمكن استخدامها في رأس موقعك هي معلمة الفئة. يمكنك استخدام هذا لتحديد فئات معينة للعرض. يتم ذلك من خلال توفير رقم الفئة أو الشريحة ذات الصلة.
بالإضافة إلى ذلك ، يمكنك فعل الشيء نفسه باستخدام معلمة Tag. بالطبع ، تعد معلمات الفئة والعلامة مجرد غيض من فيض عندما يتعلق الأمر باستخدام WP_Query.
4. تعديل الكائنات بالطرق والخصائص
على الرغم من أنه لا يوصى بتغيير خصائص فئة مثل WP_Query مباشرةً ، إلا أنه يمكنك التفاعل معها باستخدام الطرق. في الأساس ، تشبه الأساليب الدوال ، بينما الخصائص تعادل المتغيرات.
WP_Query له العديد من الخصائص. وتتراوح هذه من خصائص “posts $” البسيطة إلى خصائص أكثر تعقيدًا. مهما كانت الطريقة المستخدمة للتفاعل معهم ، سيتم إرجاع البيانات بناءً على المعلمات التي تختار وضعها في مكانها الصحيح.
WP_Query مقابل query_posts () في WordPress
تجدر الإشارة إلى أن هناك طريقة أخرى لتعديل الاستعلام الرئيسي على صفحتك. هذه هي وظيفة query_posts (). في حين أن هذا يمكن أن يعمل بطريقة مشابهة لـ WP_Query ، إلا أنه قد يكون أيضًا مشكلة كبيرة.
ينصح مرجع كود WordPress بشدة بعدم استخدام هذه الوظيفة داخل الحلقة الرئيسية لموقع الويب الخاص بك. من الأفضل أيضًا تجنبه في المكونات الإضافية والسمات. هذا لأنه سيتجاوز استفسارك الرئيسي تمامًا.
يُفضل فئة WP_Query ، لأنه يمكنك أيضًا "إعادة تعيين" الحلقة الرئيسية بعد تشغيل استعلام. نظرًا لأن WP_Query يسمح لك بتشغيل استعلامات متعددة في حلقة ، سترغب في فهم كيفية تنفيذ وظيفة wp_reset_postdata أيضًا.
إذا قمت بتضمين حلقة ثانوية داخل حلقة WordPress الرئيسية ، فسيتم وضع وظيفة إعادة الضبط في النهاية وستبدو كما يلي:
<?php wp_reset_postdata(); ?>
سيؤدي هذا إلى استعادة علامات القالب الافتراضية ، وستعود إلى ما كانت عليه الأمور قبل بدء الحلقة الثانوية.
قم بتخصيص موقع WordPress الخاص بك باستخدام WP Engine
تعد القدرة على إجراء تعديلات على كيفية عرض العناصر على موقع الويب الخاص بك مجرد واحدة من فوائد استخدام WordPress. يمكن أن يساعدك فهم WP_Query والاستفادة من الأدوات المتوفرة في صفحة موارد المطور في إنشاء مواقع ويب مخصصة حقًا.
هنا في WP Engine ، نحن متحمسون للتأكد من أن لديك الموارد التي تحتاجها لبناء مواقع ويب جذابة. تحقق من حلول WordPress الخاصة بنا وخطط الاستضافة اليوم!