محمد اصفار نشر 11 مايو 2022 أرسل تقرير نشر 11 مايو 2022 (معدل) عندي مسألة لم استطع تفديها برمجيا، وهي كالتالي: اريد اضافة كلاس للمواضيع الشائعة في الموقع داخل /*Archive.php*/ <?php while ( have_posts() ): the_post(); ?> <li><?php echo esc_attr( get_the_title() ); ?></li> <?php endwhile; ?> قبل ذلك اضفت دالة للموقع تقوم بتخزين عدد متصفحي المقال ، لكي استطيع الحصول على المقالات الأكثر زيارة باستخدام 'meta_key' => 'wpb_post_views_count', <?php $popularpost = new WP_Query( array( "post_type" => "news", 'posts_per_page' => 5, 'meta_key' => 'wpb_post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) ); while ( $popularpost->have_posts() ) : $popularpost->the_post(); ?> <li><?php echo esc_attr( get_the_title() ); ?></li> <?php endwhile; ?> هل هنالك امكانية للتحقق مما اذا كان المقال في الكود الأول (الارشيف) موجودا ضمن المقالات الموجودة في الكود الثاني (المقالات الأكثر زيارة) او هل من طريقة اخرى لاضافة كلاس مميز للمواضيع الشائعة شكرا تم التعديل في 11 مايو 2022 بواسطة Hassan Hedr توضيح العنوان 1 اقتباس
0 Hassan Hedr نشر 11 مايو 2022 أرسل تقرير نشر 11 مايو 2022 يجب تحديد عتبة عدد المشاهدات التي يعتبر بعدها المنشور شائعاً، وذلك عبر جلب عدد مشاهدات للمنشورات الشائعة والمقارنة مع عدد مشاهدات المنشور الحالي، يمكن إضافة التابع التالي الذي يجلب عتبة المشاهدات التي يعتبر عندها المنشور شائع، المثال التالي سنعتبر أول 10 منشورات هي الشائعة: function get_popular_post_view_count_threshold(){ $popular_posts = new WP_Query( array( 'post_type' => 'news', 'offset' => 10, // يمكن تغيير القيمة 'posts_per_page' => 1, 'meta_key' => 'wpb_post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) ); if($popularpost->have_posts()) { return $popular_posts->posts[0]->wpb_post_views_count; } } نضيف المرشح التالي الذي سيضيف تلقائيًا أصناف إضافية على كل منشور بحسب شرط إذا كان شائع أم لا : function add_popular_class_to_post( $classes ) { if ( $post->type === 'news' && $post->wpb_post_views_count >= get_popular_post_view_count_threshold()) { array_push( $classes, 'popular-post' ); // نضيف صنف خاص } return $classes; } add_filter( 'post_class', 'add_popular_class_to_post' ); تأكد ضمن قالب جسم المنشور من إضافة الأصناف باستخدام التابع post_class حتى يتم المرور على المرشح السابق: <div class="<?php post_class(); ?>"> ... </div> اقتباس
0 محمد اصفار نشر 11 مايو 2022 الكاتب أرسل تقرير نشر 11 مايو 2022 @Hassan Hedr يظهر لي هذا الخطأ Undefined variable: post in <b>/home/babaoghb/./wp-content/themes/news-list/functions.php</b> on line <b>715</b><br /> <br /> <b>Notice</b>: Trying to get property 'type' of non-object in <b>/home/babaoghb/./wp-content/themes/news-list/functions.php</b> on line <b>715</b><br /> class= @Hassan Hedr ألا يمكن مثلا انشاء مصفوفة فيها أيديهات المقالات الشائعة ، ثم التحقق مما اذا كان id المقال ضمن المصفوفة اقتباس
0 Hassan Hedr نشر 11 مايو 2022 أرسل تقرير نشر 11 مايو 2022 بتاريخ 33 دقائق مضت قال محمد الرسموكي: يظهر لي هذا الخطأ Undefined variable: post in <b>/home/babaoghb/./wp-content/themes/news-list/functions.php</b> on line <b>715</b><br /> <br /> <b>Notice</b>: Trying to get property 'type' of non-object in <b>/home/babaoghb/./wp-content/themes/news-list/functions.php</b> on line <b>715</b><br /> class= عدل طريقة التحقق من نوع المنشور الحالي إلى التالي if ( get_post_type(get_the_ID()) === 'news' && ...) { // .. } بتاريخ 34 دقائق مضت قال محمد الرسموكي: ألا يمكن مثلا انشاء مصفوفة فيها أيديهات المقالات الشائعة ، ثم التحقق مما اذا كان id المقال ضمن المصفوفة نعم يمكن ذلك بكلا الطريقتين، طريقة تحديد المنشورات الشائعة عن طريق التحقق من عدد المشاهدات لكل منشور تتيح لك طريقة تحكم أفضل في اعتبار ما هي المنشورات الشائعة، لكن يمكنك تنفيذ الطريقتين اقتباس
السؤال
محمد اصفار
عندي مسألة لم استطع تفديها برمجيا، وهي كالتالي:
اريد اضافة كلاس للمواضيع الشائعة في الموقع داخل
قبل ذلك اضفت دالة للموقع تقوم بتخزين عدد متصفحي المقال ، لكي استطيع الحصول على المقالات الأكثر زيارة باستخدام
'meta_key' => 'wpb_post_views_count',
هل هنالك امكانية للتحقق مما اذا كان المقال في الكود الأول (الارشيف) موجودا ضمن المقالات الموجودة في الكود الثاني (المقالات الأكثر زيارة)
او هل من طريقة اخرى لاضافة كلاس مميز للمواضيع الشائعة
شكرا
تم التعديل في بواسطة Hassan Hedrتوضيح العنوان
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.