انجمن


نمايش پربيننده ترين مطلب  (۱۲ نوشته)

  • iranp

    آفلاین
    عضو
    تعداد نوشته‌ها: ۹۱
    تشکر شده: ۴۶ بار
    # نوشته شده: ۱۲ سال پیش
    ۷ بهمن ۱۳۹۰ - ۱۲:۳۱

    با سلام خدمت دوستان عزيز
    مي خواهم در سايتم پربيننده ترين مطالب رو نشان دهم.از افزونه هاي زيادي هم استفاده كردم يكي از بهترين ها wordpress-popular-posts اين بود،اين افزونه ها به خوبي جواب مي دهند ولي زماني كه از افزونه هاي كش استفاده مي كنيد اصلا اين جور افزونه ها جواب درستي نمي دهند دليلش هم در پست زير هست.
    افزونه آمارگير

    فعلا در اين گونه مواقع از كدهاي خاص در وردپرس استفاده مي كنم و كدها را در ابزارك متن قرار مي دهم و به خوبي كار مي كنند(بايد تو فرصت مناسب سر اين موضوع خوب فكر كرد و اين مشكل ناسازگاري افزونه هاي كش با اين جور افزونه ها را براي هميشه حل كرد.)
    به هر حال ، دنبال كدي مي گردم كه بتونم پربيننده ترين مطالب سايت را با عكس يا بدون عكس (فرقي نمي كنه)نمايش دهم.

    البته يك كد هم تو سايت ها هست كه بر اساس تعداد نظر نشون ميده ولي من مي خوام بر اساس تعداد بازديد باشه.
    اين هم كدش

    function popularPosts($num) {
    global $wpdb;
    
    $posts = $wpdb->get_results("SELECT comment_count, ID, post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , $num");
    
    foreach ($posts as $post) {
    setup_postdata($post);
    $id = $post->ID;
    $title = $post->post_title;
    $count = $post->comment_count;
    
    if ($count != 0) {
    $popular .= '<li>';
    $popular .= '<a href="' . get_permalink($id) . '" title="' . $title . '">' . $title . '</a> ';
    $popular .= '</li>';
    
    }
    
    }
    
    return $popular;
    }

    سپس کد زیر را در جایی که می خواهید پربازدید ترین مطالب به نمایش در آیند قرار دهید:

    <ul>
    <?php echo popularPosts(10); ?>
    </ul>

    براي اينكه بتونم بر اساس تعداد بازديد نشون بدم بايد كدوم قسمت رو تغيير بدم؟

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    amirabar - alikhani98
  • Parsa

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۱۹۲۱
    تشکر شده: ۲۶۸۳ بار
    # نوشته شده: ۱۲ سال پیش
    ۷ بهمن ۱۳۹۰ - ۱۲:۵۱

    برای پربازدیدترین از افزونه wp-postviews و تابع get_most_viewed باید استفاده کنید

    <ul>
     <?php get_most_viewed('post'); ?>
    </ul>
    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    iranp - Morteza - jsa - amirabar
  • iranp

    آفلاین
    عضو
    تعداد نوشته‌ها: ۹۱
    تشکر شده: ۴۶ بار
    # نوشته شده: ۱۲ سال پیش
    ۷ بهمن ۱۳۹۰ - ۱۴:۲۹

    از پارسا به خاطر جوابي كه دادن تشكر مي كنم
    ولي اين افزونه رو هم امتحان كردم ، مثل اينكه متوجه منظورم نشديد،اگر اون پستي كه لينكش رو دادم بخونيد متوجه ميشيد،زماني كه از افزونه هاي كش استفاده مي كنيد،بعضي از افزونه ها نيز كش مي شود و در نتيجه چيزي كه در اون لحظه داريد مي بينيد مربوط به يك ساعت پيش (بستگي به زمان كش) هست.من مي خواهم اين كار را بدون افزونه انجام دهم.
    اگر به كدي كه بالا نوشتم دقت كنيد در خط سوم نوشته شده SELECT comment-count ، من فيلد comment count رو در ديتابيس وردپرس جستجو كردم و پيدا كردم.به نظرم بايد به يك خانه ي ديگر در وردپرس كه view را نشان مي دهد ربط دهيم.حالا نميدانم اين گزينه رو كجا پيدا كنم.
    دوستان نظري ندارند؟

  • Parsa

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۱۹۲۱
    تشکر شده: ۲۶۸۳ بار
    # نوشته شده: ۱۲ سال پیش
    ۷ بهمن ۱۳۹۰ - ۱۵:۰۶

    اگر مشکلتون با قرار دادن مستقیم کد حل میشه
    میتوانید کدها را از خط 216 افزونه کپی کنید

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    iranp
  • iranp

    آفلاین
    عضو
    تعداد نوشته‌ها: ۹۱
    تشکر شده: ۴۶ بار
    # نوشته شده: ۱۲ سال پیش
    ۷ بهمن ۱۳۹۰ - ۱۷:۰۹

    راه حل بالا هم جواب نداد.

      <?php get_most_viewed('post'); ?>

    كد بالا رو كه داده بوديد بعد از نصب افزونه در ابزارك متن قرار دادم در صفحه اصلي تمام تغييرات اعمال مي شد يعني آمار به صورت لحظه اي بود ولي وقتي تو خود صفحه مي رفتم همون اطلاعات چند دقيقه قبل را مي داد.
    تازه ترين نوشته ها كه در خود وردپرس گنجانده شده است،چطور اون كش نمي شه،شايد بتوان مانند اون كاري كرد كه افزونه ي پربازديدترين هم كش نشه.
    لطفا كمك كنيد.
    راستي شما از اين افزونه ها استفاده مي كنيد؟ آيا از افزونه هاي كش هم استفاده مي كنيد؟
    خواهشا جواب بديد

  • Parsa

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۱۹۲۱
    تشکر شده: ۲۶۸۳ بار
    # نوشته شده: ۱۲ سال پیش
    ۷ بهمن ۱۳۹۰ - ۱۷:۴۳

    تا جایی که من میدونم افزونه‌های کش کل صفحه رو کش میکنند
    در نتیجه خروجی تمام توابع کش میشوند و نمایش داده میشوند

    (از افزونه کش هم استفاده نمیکنم)

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    iranp
  • iranp

    آفلاین
    عضو
    تعداد نوشته‌ها: ۹۱
    تشکر شده: ۴۶ بار
    # نوشته شده: ۱۲ سال پیش
    ۷ بهمن ۱۳۹۰ - ۲۰:۱۴

    از افزونه كش استفاده نمي كنيد؟!!!!!!!!! چطور؟
    به نظرم افزونه كش يكي از مهم ترين افزونه هايي هست كه بايد روي وردپرس نصب شه.
    براي لود سايتتون چيكار مي كنيد؟

  • امین

    آفلاین
    عضو
    تعداد نوشته‌ها: ۶۳۹
    تشکر شده: ۶۰۲ بار
    # نوشته شده: ۱۲ سال پیش
    ۷ بهمن ۱۳۹۰ - ۲۰:۳۷

    parselearn گفت:
    تا جایی که من میدونم افزونه‌های کش کل صفحه رو کش میکنند
    در نتیجه خروجی تمام توابع کش میشوند و نمایش داده میشوند

    (از افزونه کش هم استفاده نمیکنم)

    پارسا جان
    یعنی بطور مثال اگه از افزونه کش استفاده کنیم
    وقتی کش میکنیم آمار بازدید ها صفر میشه ؟

  • iranp

    آفلاین
    عضو
    تعداد نوشته‌ها: ۹۱
    تشکر شده: ۴۶ بار
    # نوشته شده: ۱۲ سال پیش
    ۷ بهمن ۱۳۹۰ - ۲۰:۵۹

    با سلام خدمت آقا امين
    اگر به نوشته اي كه در اول همين صفحه لينك كردم برويد متوجه مي شويد كه مشكل اكثر افزونه هايي مثل postview و wp static و بعضي از افزونه هاي آمارگير و ... با افزونه هاي كش چيست.
    زماني كه از اين افزونه هاي به همراه كش استفاده مي كنيد آخرين اطلاعات مربوط به ساعات پيش هست.فرض كنيد افزونه postview را نصب كرديد به محض اينكه سايت را يك بار لود كنيد اين افزونه براي شما 1 را نشان مي دهد و حال اگر چند بار ديگر لود كنيد فقط همان يك را نشان مي دهد تا اينكه مدت زمان كش بگذرد.

  • iranp

    آفلاین
    عضو
    تعداد نوشته‌ها: ۹۱
    تشکر شده: ۴۶ بار
    # نوشته شده: ۱۲ سال پیش
    ۷ بهمن ۱۳۹۰ - ۲۲:۱۵

    سلام مجدد خدمت دوستان عزيز
    براي بررسي افزونه wp-super-cache به سايت وردپرس رفتم و به صفحه اين افزونه رفتم.با متن زير مواجه شدم

    Why don't WP UserOnline, Popularity Contest, WP Postratings or plugin X not work or update on my blog now?
    This plugin caches entire pages but some plugins think they can run PHP code every time a page loads. To fix this, the plugin needs to use Javascript/AJAX methods or the dynamic-cached-content/mfunc/mclude code described in the previous answer to update or display dynamic information.

    در متن بالا سوال شده چرا افزونه هاي wp useronline و ... آپديت نمي شوند و كار نمي كنند؟
    در جواب آمده : اين افزونه تمام صفحه را كش مي كند اما افزونه هايي كه با php هستند آپديت نمي شوند(البته بعضي از افزونه ها) براي حل اين مشكل ، افزونه به استفاده از جاوا اسكريپت يا آجاكس نياز دارد يا استفاده از كد هاي dynamic-cached-content ، mfunc و mclude نياز دارد.

    دوستان عزيز كه به مسائل كدنويسي بيشتر آشنا هستند،لطفا بررسي كنند و ببينند مشكل چيست.

    با تشكر از تمامي دوستان

  • Parsa

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۱۹۲۱
    تشکر شده: ۲۶۸۳ بار
    # نوشته شده: ۱۲ سال پیش
    ۱۰ بهمن ۱۳۹۰ - ۲۰:۴۸

    iranp گفت:
    از افزونه كش استفاده نمي كنيد؟!!!!!!!!! چطور؟
    به نظرم افزونه كش يكي از مهم ترين افزونه هايي هست كه بايد روي وردپرس نصب شه.
    براي لود سايتتون چيكار مي كنيد؟

    من یک بار نصب کردم. به خاطر چنین مسائلی حذفش کردم.
    با توجه به اینکه مشکل استفاده بیش از حد از منابع هم ندارم (یا پشتیبانم سخت نمیگیره!). استفاده نمیکنم
    لود سایت هم خوبه.

    beatkids گفت:

    پارسا جان
    یعنی بطور مثال اگه از افزونه کش استفاده کنیم
    وقتی کش میکنیم آمار بازدید ها صفر میشه ؟

    نه امین جان. اما بروزرسانی خوبی نمیشه
    مثلا شما صفحه‌ای رو لود میکنید. این صفحه به خاطر اینکه ذخیره شده است. اطلاعات صحیحی نمایش نمیدهد
    اشتباه نمایش دادن هم چندان بد نیست. بدتر این است که کدهای php سایت، اصلا اجرا نشوند. اگر اجرایی صورت نگیرد بروزرسانی هم دیده نمیشود

    ---------------------------------------

    iranp گفت:
    سلام مجدد خدمت دوستان عزيز
    براي بررسي افزونه wp-super-cache به سايت وردپرس رفتم و به صفحه اين افزونه رفتم.با متن زير مواجه شدم

    در متن بالا سوال شده چرا افزونه هاي wp useronline و ... آپديت نمي شوند و كار نمي كنند؟
    در جواب آمده : اين افزونه تمام صفحه را كش مي كند اما افزونه هايي كه با php هستند آپديت نمي شوند(البته بعضي از افزونه ها) براي حل اين مشكل ، افزونه به استفاده از جاوا اسكريپت يا آجاكس نياز دارد يا استفاده از كد هاي dynamic-cached-content ، mfunc و mclude نياز دارد.

    دوستان عزيز كه به مسائل كدنويسي بيشتر آشنا هستند،لطفا بررسي كنند و ببينند مشكل چيست.

    با تشكر از تمامي دوستان

    در مورد توابع بالا مثالهایی در این آدرس هست

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Farshad MC - NESTED - امین - Morteza - Saeed Fard - amirabar
  • rasoulsamadi

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۲
    تشکر شده: ۱۱ بار
    # نوشته شده: ۱۰ سال پیش
    ۱۲ مرداد ۱۳۹۲ - ۱۵:۵۲

    اگه بخوام این کد به صورت ماهانه یا هفتگی نشون بده چجوری باید بزارم؟
    <?php get_most_viewed(); ?>

درباره‌ی این موضوع



برچسب‌ها

هیچ برچسبی نیست.