استعلام المشاركات باستخدام meta_query أو tag_query
في عالم تطوير مواقع ووردبريس، تعتبر استعلامات البيانات واحدة من الأساسيات التي ينبغي على المبرمجين إتقانها بشكلٍ جيد. بينما تعتبر الاستعلامات عن طريق meta_query
وtag_query
أمرًا شائعًا، إلا أن استخدامهما معًا لتحقيق أهداف معينة يمكن أن يسبب بعض التعقيد. في هذا المقال، سنستعرض كيفية إجراء استعلامات باستخدام meta_query
وtag_query
لتحسين تجربة البحث عن المحتوى في موقعك.
فهم الـ meta_query والـ tag_query
الـ meta_query
يسمح لك بالبحث في البيانات الميتا الخاصة بالمنشورات، مثل البحث عن منشورات مرتبطة بفنان معين بناءً على معرفه. بينما يسمح لك الـ tag_query
بالبحث في التصنيفات، مثل البحث عن منشورات مرتبطة بدولة معينة. وبالتالي، إن استخدام كلا الوظائف معاً يفتح أمامك آفاقًا جديدة في إمكانية استعلامات البيانات.
أساسيات الـ meta_query
لنفترض أنك ترغب في استعلام عن جميع المنشورات التي ترتبط بفنان معين. يمكنك استخدام الـ meta_query
على الشكل التالي:
$args = array(
'post_type' => 'post',
'meta_query' => array(
array(
'key' => 'artist_related',
'value' => get_the_ID(),
'compare' => '='
)
)
);
في هذا المثال، يتم البحث عن جميع المنشورات التي تحمل معرف الفنان الذي يتم عرضه حاليًا.
تطبيق الـ tag_query
ومع ذلك، إذا كنت بحاجة إلى تضمين التصنيفات أيضاً، فهذا يتطلب إجراء تعديلات على استعلامك. على سبيل المثال، إذا كنت تبحث عن المنشورات المرتبطة بدولة معينة، يمكنك استخدام tag_query
كالتالي:
'tax_query' => array(
array(
'taxonomy' => 'represented_country',
'field' => 'term_id',
'terms' => 'belgique'
)
)
لكن، ماذا إذا أردت استخدام كلاً من meta_query
وtag_query
في استعلام واحد، بينما تريد أن تعمل العلاقة بينهما بطريقة OR
؟ إليك كيفية القيام بذلك.
التعامل مع الـ meta_query و الـ tag_query بشكل مشترك
أنت بحاجة إلى ربط الاستعلامين بطريقة تسمح لك باسترداد المنشورات حتى إذا فشل أحدها. لتحقيق ذلك، يجب عليك تهيئة استعلامك كما يلي:
$args = array(
'post_type' => 'post',
'meta_query' => array(
array(
'key' => 'artist_related',
'value' => get_the_ID(),
'compare' => '='
)
),
'relation' => 'OR',
'tax_query' => array(
array(
'taxonomy' => 'represented_country',
'field' => 'term_id',
'terms' => 'belgique'
)
)
);
من المهم ملاحظة أن ترتيب العناصر في المصفوفات قد يؤثر على النتيجة. يجب عليك إعداد العلاقة بشكل صحيح لتجميع النتائج التي ترغب في الحصول عليها من الـ meta_query
والـ tag_query
.
تحسين أداء الاستعلامات
قبل تنفيذ استعلاماتك، من الذكي دائماً فحص الجداول قيد الاستخدام والتأكد من أنها مصممة بشكل فعال لتحقيق أفضل أداء. تأكد من وجود الفهارس المناسبة على الحقول المستخدمة في الاستعلامات لتحسين سرعة الوصول إلى البيانات.
خلاصة
باختصار، إذا كنت تتساءل كيف يمكنني استعلام المنشورات باستخدام meta_query
أو tag_query
، فإن المفتاح هنا هو تكامل كليهما بطريقة تعطينا المرونة المطلوبة. هل ترغب في استعلام معين يعتمد على الفنان والمعايير المحددة له، أو ترغب في البحث عن منشورات مرتبطة بدولة معينة؟ فهم كيفية دمج الاستعلامات يمكن أن يقدم لك النتائج التي تأمل بها دون خسارة أي بيانات.
تذكر دائماً أن استخدام الـ meta_query
وtag_query
بشكل صحيح يمكن أن يعزز من تجربة الزائر لموقعك ويساهم في تحسين ترتيبك في محركات البحث.