هل تحاول تجنب ظهور المنشور المكرر مع حلقات متعددة في ووردبريس؟
إذا كنت تقوم بتشغيل استعلامات ووردبريس متعددة لعرض مجموعات مختلفة من المنشورات ، فقد تواجه هذه المشكلة. قد تتطابق بعض المشاركات مع أكثر من حلقة واحدة وقد تظهر مرتين.
في هذه المقالة ، سنوضح لك كيفية تجنب عرض المنشور المكرر بسهولة باستخدام حلقات متعددة في ووردبريس.
تجنب المنشورات المكررة عند العمل باستخدام حلقات متعددة في ووردبريس
كيف تظهر المنشورات المكررة في حلقات ووردبريس المتعددة
يمكنك استخدام عدة حلقات ووردبريس في قالب عند إنشاء سمة ووردبريس مخصصة أو قالب صفحة مخصص .
على سبيل المثال ، قد يرغب بعض المستخدمين في عرض منشوراتهم الأخيرة جنبًا إلى جنب مع أكثر منشوراتهم شيوعًا . قد يرغب بعض المستخدمين في عرض المشاركات الأخيرة متبوعة بمشاركات في فئات مختلفة.
لنفترض الآن أن المنشور الذي نشرته مؤخرًا يطابق أيضًا معايير الحلقات المتعددة. سيعرضه ووردبريس مرة أخرى ما لم تستبعده.
مشاركات مكررة تظهر في حلقات متعددة
الآن بما أنك تنشئ منشورات ديناميكية لكل حلقة ، لا يمكنك التنبؤ يدويًا بما إذا كانت هناك مشاركة مكررة ستظهر في حلقة.
بعد قولي هذا ، دعنا نلقي نظرة على كيفية تجنب المنشورات المكررة بسهولة عند التعامل مع حلقات متعددة في ووردبريس.
تجنب المنشورات المكررة في حلقات ووردبريس المتعددة
في هذا البرنامج التعليمي ، سوف نعرض لك بعض نماذج كود ووردبريس. يمكنك بعد ذلك تعديله وفقًا لمتطلباتك الخاصة.
أولاً ، دعنا نعيد إنشاء مشكلة المنشورات المكررة.
في نموذج الكود التالي ، نعرض منشورات لفئتين دون تجنب المنشورات المكررة.
<?php
/****** The First Query *******/
$first_query = new WP_Query( array (
'category_name' => 'news'
'posts_per_page' => 3
) );
// The Loop
if ( $first_query->have_posts() ) {
echo '<ul>';
while ( $first_query->have_posts() ) {
$first_query->the_post();
//display posts
echo '<li>'
echo the_post_thumbnail( array(50, 50) );
echo get_the_title();
echo '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
/****** The Second Query *******/
$second_query = new WP_Query( array (
'category_name' => 'travel',
'posts_per_page' => 3
) );
// The Loop
if ( $second_query->have_posts() ) {
echo '<ul>';
while ( $second_query->have_posts() ) {
$second_query->the_post();
echo '<li>';
echo the_post_thumbnail( array(50, 50) );
echo get_the_title();
echo '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
?>
كما ترى ، لا يتحقق هذا الرمز من المشاركات المكررة في أي من الاستعلامين . سيستمر ويعرض المنشورات المكررة إذا تم العثور عليها في كلتا الفئتين:
مشاركات مكررة تظهر في حلقات متعددة
دعونا نصلح هذه المشكلة.
لتجنب المنشورات المكررة ، نحتاج إلى تخزين البيانات مؤقتًا حول المنشورات المعروضة في الحلقة الأولى.
بمجرد حصولنا على هذه المعلومات ، سنقوم ببساطة بتعديل استعلامنا الثاني لاستبعاد تلك المنشورات من الظهور مرة أخرى.
فيما يلي نموذج التعليمات البرمجية الذي يتجنب ظهور المشاركات المكررة في الحلقة الثانية.
<?php
/****** The First Query *******/
$first_query = new WP_Query( array (
'category_name' => 'news'
'posts_per_page' => 3
) );
// The Loop
if ( $first_query->have_posts() ) {
echo '<ul>';
while ( $first_query->have_posts() ) {
$first_query->the_post();
// Store Post IDs in an Array to reuse later
$exclude[] = $post->ID;
//display posts
echo '<li>'
echo the_post_thumbnail( array(50, 50) );
echo get_the_title();
echo '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
/****** The Second Query *******/
$second_query = new WP_Query( array (
'category_name' => 'travel',
'post__not_in' => $exclude, // Tell WordPress to Exclude these posts
'posts_per_page' => 3
) );
// The Loop
if ( $second_query->have_posts() ) {
echo '<ul>';
while ( $second_query->have_posts() ) {
$second_query->the_post();
echo '<li>';
echo the_post_thumbnail( array(50, 50) );
echo get_the_title();
echo '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
?>
في الكود أعلاه ، قمنا بتخزين معرفات النشر في مصفوفة $exclude. بعد ذلك ، أضفنا post__not_inوسيطة إلى استعلامنا الثاني لاستبعاد المشاركات التي تم عرضها في الحلقة الأولى.
هذا كل ما يمكنك الآن زيارة موقع الويب الخاص بك لرؤية المشاركات المكررة تختفي من الحلقة الثانية.
لم يتم العثور على وظيفة مكررة
نأمل أن تساعدك هذه المقالة في تعلم كيفية تجنب عرض المنشور المكرر مع حلقات متعددة في ووردبريس. قد ترغب أيضًا في الاطلاع على ورقة الغش الشاملة لتطوير موضوع ووردبريس للحصول على مزيد من النصائح.
خدمات مميزة لآجلك
نأمل أن تساعدك هذه المقالة في تعلم كيفية تغيير نظام ألوان الادمن في الووردبريس. قد ترغب أيضًا في رؤية مختارات حول الإضافات (بلجن) في الووردبريس ودليلنا حول كيفية اختيار أفضل شركات حجز النطاقات والاستضافات وكيفية التعامل معها.
اشترك معنا لمزيد من المعرفة
إذا أعجبك هذا المقال ، فيرجى الاشتراك في قناتنا على اليوتيوب لدروس فيديو في الووردبريس. ويمكنك أيضًا أن تجدنا على فيسبوك وتويتير وانستجرام وتيكتوك، لطفاً لا تنسى متابعتنا، فنحن نسعد برؤيتك..

