
إذا كنت مطور ووردبريس أو حتى صاحب موقع تريد تخصيص طريقة عرض المحتوى، فإن WP_Query
هي أداتك السحرية.
باستخدامها، يمكنك إنشاء استعلامات مخصصة تعرض المقالات أو الصفحات أو أي نوع محتوى آخر بالطريقة التي تريدها، بدلًا من الاعتماد فقط على الاستعلامات الافتراضية في ووردبريس.
في هذا المقال سنشرح ما هي WP_Query، وكيفية استخدامها بخطوات واضحة، مع أمثلة عملية تسهّل عليك فهمها حتى لو كنت مبتدئ.
ما هي WP_Query؟
WP_Query
هي كلاس (Class) في ووردبريس يسمح لك بإنشاء استعلامات مخصصة لقاعدة البيانات من أجل جلب المحتوى بالطريقة التي تحددها أنت.
يمكنك من خلالها:
-
عرض مقالات من تصنيف معين.
-
عرض عدد محدد من المقالات.
-
ترتيب المحتوى حسب التاريخ أو العنوان.
-
عرض محتوى بناءً على كلمات مفتاحية أو الكاتب.
الصيغة الأساسية لاستخدام WP_Query
في أبسط أشكالها، يمكنك كتابة استعلام كالتالي:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?php $args = array( 'post_type' => 'post', // نوع المحتوى (post, page أو مخصص) 'posts_per_page' => 5, // عدد المقالات المعروضة 'orderby' => 'date', // الترتيب حسب التاريخ 'order' => 'DESC' // تنازليًا ); $query = new WP_Query($args); if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); the_title('<h2>', '</h2>'); the_excerpt(); endwhile; else : echo 'لا توجد مقالات.'; endif; wp_reset_postdata(); ?> |
أمثلة عملية للتحكم بعرض المحتوى
1. عرض مقالات من تصنيف محدد:
1 2 3 4 5 |
$args = array( 'category_name' => 'تقنية', 'posts_per_page' => 3 ); $query = new WP_Query($args); |
يعرض هذا الاستعلام آخر 3 مقالات من التصنيف “تقنية”.
2. عرض محتوى لكاتب معين:
1 2 3 4 |
$args = array( 'author_name' => 'admin' ); $query = new WP_Query($args); |
يعرض جميع المقالات التي كتبها المستخدم “admin”.
3. عرض مقالات تحتوي على كلمة مفتاحية:
1 2 3 4 |
$args = array( 's' => 'ووردبريس' ); $query = new WP_Query($args); |
يعرض المقالات التي تحتوي على كلمة “ووردبريس”.
4. عرض نوع محتوى مخصص (Custom Post Type):
1 2 3 4 5 |
$args = array( 'post_type' => 'products', 'posts_per_page' => 10 ); $query = new WP_Query($args); |
مفيد عند عرض منتجات أو أي نوع محتوى مخصص.
نصائح احترافية عند استخدام WP_Query
-
استخدم
wp_reset_postdata()
بعد الاستعلام لإعادة ضبط بيانات البوستات. -
لا تفرط في إنشاء استعلامات كثيرة في الصفحة الواحدة، لأنها قد تؤثر على الأداء.
-
استفد من الـ Parameters الكثيرة في WP_Query لتخصيص الاستعلام بشكل كامل.
-
دمج WP_Query مع Ajax يمكن أن يعطيك عرض محتوى ديناميكي بدون إعادة تحميل الصفحة.
باستخدام WP_Query، يمكنك التحكم الكامل في كيفية عرض المحتوى داخل موقعك ووردبريس. سواء أردت عرض مقالات من تصنيف معين، أو تخصيص عرض المنتجات، أو إنشاء صفحة أرشيف مخصصة، ستجد أن WP_Query تمنحك المرونة الكاملة.
تعلّم استخدامها بذكاء وستفتح أمامك أبوابًا جديدة لتخصيص موقعك باحترافية.