عرض سلام خدمت همه دوستان وردپرسی عزیز! امروز یکی از کاربران سایت، ازما نحوه نمایش محبوب ترین مطالب یک دسته بندی از وردپرس رو درخواست کرد بخاطر همین خواستم این آموزش رو با شما کاربران عزیز مارکت 4 هم به اشتراک بزارم.
خب اول این سوال پیش میاد که محبوب ترین مطالب بر چه اساسی؟ بر اساس تعداد بازدید؟ یا تعداد کامنت ها؟
خب هر 2مورد رو توضیح میدم :
نمایش محبوب ترین مطالب یک دسته از وردپرس بر اساس تعداد کامنت ها :
نمایش محبوب ترین مطالب یک دسته بر اساس تعداد بازدید خیلی راحت تره، چرا؟ چون وردپرس بصورت پیشفرض تعداد کامنت های هر مطلب رو دیتابیس ذخیره میکنه و ما براحتی میتونیم روش کوئری بزنیم و مطالب رو از یک دسته بندی خاص و بر اساس تعداد کامنت ها دریافت کنیم طبق کد زیر :
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $query_wps = new WP_Query('category_name=نامک دسته رو اینجا وارد کنید & orderby=comment_count & showposts=10'); while ($query_wps->have_posts()) : $query_wps->the_post(); ?> <li> <a title="<?php the_title(); ?>" href="<?php the_permalink() ?>"> <?php the_post_thumbnail(); ?> <?php the_title(); ?> </a> </li> <?php endwhile; ?> <?php wp_reset_query(); ?> |
در کد بالا از حلقه wp_query استفاده کردیم و در قسمت category_name نامک دسته مورد نظر رو وارد کنید (نامک با نام فرق میکنه) – در قسمت orderby هم مشخص کردیم که مطالب بر اساس تعداد کامنت ها باشه.
تصویر شاخص : کد the_post_thumbnail برای نمایش تصویر شاخص مطلب هست که اگر نخواستین میتونین اون تکه کد رو حذف کنید.
نمایش محبوب ترین مطالب یک دسته از وردپرس بر اساس تعداد بازدید :
اینجا در ابتدای کار نیاز به یک افزونه داریم تا تعداد بازدید هر مطلب رو ثبت کنه چرا؟ چون برخلاف تعداد کامنت های هر مطلب که بصورت پیشفرض در وردپرس ذخیره میشد، تعداد بازدیدها ذخیره نمیشه! پس ما اول باید با استفاده از افزونه تعداد بازدیدهای هر مطلب رو در دیتابیس ذخیره کنیم و بعد بر اون اساس نمایش بدیم.
افزونه WP Most Popular
برای ثبت تعداد بازدیدهای هر نوشته در دیتابیس وردپرس افزونه WP Most Popular رو دانلود و نصب کنید (لینک دانلود افزونه رو در پایین صفحه قرار میدم.) – بعد در هر جای قالبتون که میخواین محبوب ترین مطالب وردپرس از یک دسته بندی خاص بر اساس تعداد بازدید نمایش داده بشه کد زیر رو قرار بدین
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $posts = wmp_get_popular( array( 'limit' => 10, 'post_type' => 'post', 'range' => 'all_time' , 'category_name' => 'نامک دسته' ) ); global $post; if ( count( $posts ) > 0 ): foreach ( $posts as $post ): setup_postdata( $post ); ?> <a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li> <?php endforeach; endif; ?> |
امیدوارم این آموزش هم مورد استفاده شما عزیزان قرار گرفته باشه
موفق باشید