نمایش تعداد بازدید مطالب در وردپرس بدون نیاز به افزونه

4.2/5 - (32 امتیاز)

چندی پیش در نوشته‌ی “افزونه آمارگیر وردپرس” به مهم و حائز اهیمت بودن آمار بازدید سایت از جهاتِ گوناگون برای مدیران تارنماها اشاره کردیم که این موضوع برای کاربران یک سایت نیز می‌تواند مهم و قابل توجه باشد که در این نوشته با آموزش نمایش تعداد دفعات بازدید از مطالب وردپرس توسط کاربران و چگونگی نمایش آن در پوسته‌های وردپرس در خدمت شما دوستان گرامی خواهیم بود.

کد نمایش تعداد بازدید پست ها در وردپرس

برای اضافه کردن قابلیت نمایش تعداد بازدید مطالب وردپرس در قالب وردپرس خود ابتدا فایل فانکشن (functions.php) پوسته را برای ویرایش باز کنید (خواهشمندیم پیش از ایجاد هر تغییری در این فایل از آن نسخه پشتیبان تهیه نمایید تا در صورت بروز خطا آن را به حالت اول بازگردانید)

در مرحله‌ی اول دستور زیر را برای نمایش تعداد بازدید از نوشته‌ها در محل مناسبی از فایل Functions قرار دهید:

function getPostViews($postID){
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0 بازدید";
}
return $count.' بازدید';
}
function setPostViews($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);

پس از اضافه کردن دستورات فوق و ذخیره‌ی تغییرات امکان شمارش تعداد بازدید از مطالب وردپرس فراهم گردیده است که در مرحله‌ی بعدی برای عملکرد صحیح دستورات، کد زیر را به فایل Single.php پوسته وردپرس اضافه می‌کنیم (حتما توجه داشته باشید که تابع زیر باید درون حلقه مطالب وردپرس قرار گیرد) :

<?php
setPostViews(get_the_ID());
?>

در مرحله‌ی آخر نیز پس از گذراندن مراحل بالا می‌توانید از دستور چاپی زیر برای نمایش تعداد بازدید مطالب وردپرس در فایل‌هایی همچون index, archive, search و… استفاده نمایید (لازم به ذکر است عملکرد صحیح این دستور نیز مستلزم قرارگیری آن در حلقه ی مطالب وردپرس است):

<?php
echo getPostViews(get_the_ID());
?>

امیدواریم آموزش اضافه کردن تعداد بازدید مطالب در وردپرس بدون نیاز به افزونه، مورد پسند شما دوستان گرامی قرار گرفته باشد.

4.2/5 - (32 امتیاز)

کانال تلگرام ماندگار وب

    1. امیر خلجی مهر

      خواهش میکنم
      درسته اکثر افزونه ها معمولاً اونطوری که ما توقع داریم بهینه نیستند و فایلهای مختلفی مثله جی اس و استایل رو به حجم خروجی برگه های وب اضافه میکنند

  1. احسان

    سلام
    وبسایت بسیار خوبی دارید، فقط یک سوال داشتم.
    میشه توی این کد کاری کرد که وقتی روی دکمه ای توی همون مطلب کلیک کردن، به امار مطلب اضافه بشه، مثلا وقتی روی لینک دانلود کلیک کردند، به این امار اضافه بشه، یعنی همون تعداد دانلود ؟؟
    ممنون میشم جواب بدید.

    1. امیر خلجی مهر

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

  2. پردیس

    سلام من وقتی کدهارو قرار میدم هنگام بروز رسانی با این پیغام رو به رو میشم Not Acceptable

    An appropriate representation of the requested resource /wp-admin/theme-editor.php could not be found on this server.

    Apache/2 Server at haminekehast.ir Port 80
    باید چی کار کنم لطفا راهنمایی کنید.

    1. امیر خلجی مهر

      درود بر شما
      مشکل پیش اومده ارتباطی با این نوشته نداره و مرتبط با سرورتون هست که بهتره با هاستینگ در تماس باشید

  3. SaeeD

    آغا کار نکرد . ما هرکاری میکنیم نمیشه . همون روی صفر باقی مونده .
    لطفا نگاهی کنید ما رو راهنمایی کنید
    تشکر

    1. امیر خلجی مهر

      چرا عاغا جون کار میکنه، ما هم داریم استفاده میکنیم
      بهتره کمی بیشتر دقت کنید تو استفاده از دستورات

  4. Milad

    سلام امیر جان اول ممنون بابت آموزش
    فقط نمیدونم چرا کار نمیکنه!
    روی صفر قفله و هرچقدرم پست رو باز و بسته میکنیم تغییری نمیکنه 🙁

    1. امیر خلجی مهر

      درود بر شما
      دوست خوبم شما مطمئن هستید؟ تو ماندگار از همین کدها داریم استفاده میکنیم، در انجمن مطرح کنید شاید مشکل از جای دیگری هست

  5. سجاد حاجی احمدی

    سلام
    عالی بود . امیدوارم که همیشه و به همین ترتیب موفقیت های خوبی کسب کنی.
    موفق باشید.

  6. احسان

    دنبال تکه کدی برای نمایش لیست 5 تا از پر بازدید ترین مطالب برای 45 روز گذشته توست این کد هستم

  7. kamal

    سلام مرسی شما،
    من یه مشکلی دارم با هر بار رفرش 2 تا بازدید برام ثبت میشه .لطفا راهنمایی کنید.سپاس

    1. امیر خلجی مهر

      درود

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

      موفق باشید

      1. kamal

        مرسی از پاسخ . ولی نه چون من هر بار رفرش میکنم 2 بار ثبت میشه، همین کد رو در لوکال استفاده میکنم بخوبی کار میکنه ،
        فکر میکنید اشکال از کجاست دوست عزیز؟

        1. امیر خلجی مهر

          تو لوکال هم دقیقا از همون پوسته استفاده میکنید؟
          اگر پاسخ مثبت هست، افزونه ها رو غیرفعال و دوباره امتحان کنید

  8. kamal

    اره از همون پوسته استفاده میکنم .
    هیچ افزونه ای نصب نیست هیچی.
    دقیقا جایگاه قرار دادن کد هم به همون صورتی هستش که در لوکال میذارم .خیلی وقت گذاشم ولی به نتیجه نمیرسم

    1. امیر خلجی مهر

      نمیدونم چی بگم جالب شد 🙂
      تو انجمن مطرح کنید تا دوستان بررسی کنند، شاید هم تابع دوبار اجرا میشه، به هر حال باید تو انجمن مطرح کنید تا دقیقا مشکل مشخص بشه
      این روش رو هم تست کنید، تو کد اصلی و تابع این دو مورد رو در هر جایی تغییر نام بدید
      setPostViews
      getPostViews

      مثلا getPostViews بشه getPostViewss

  9. رضا

    با سلام
    میخواستم کمک کنید که چطور میشه کد نمایش بازدید از مطلب زیر رو طوری تغییر بدم که هر بازدید ضرب در 5 بشه. در واقع میخوام با تغییر در کد بازدید از مطلب رو بیشتر نمایش بدم.
    این کد:

    لطفا کمک کنید

  10. Milad

    سلام
    من خیلی وقته از این کد استفاده میکنم فقط یه مشکلی هست :
    وقتی افزونه کش روی وردپرس نصب میکنم، عملکرد این کد دچار اختلال میشه و دیگه درست شمارش نمیکنه!!
    یه جورایی مثل اینکه پست یکبار که باز میشه، کش میشه و دیگه روی همون عدد می مونه تا یه مدت هرچندبارم کاربر پست رو ببینه اون عدد تغییر نمیکنه!!
    الان افزونه ی W3 Total Cache نصبه و این مشکل وجود داره بازدید پست ها از 1 یا 2 بالاتر نمیره!
    این مشکل برای چیه؟؟ نمیشه رفعش کرد؟

    1. امیر خلجی مهر

      درود
      بله به خاطر افزونه کش هست ما هم همین مشکل رو داشتیم که در نهایت کش رو غیرفعال کردیم
      میتونید در انجمن هم موضوع رو مطرح کنید شاید راهی وجود داشته باشه
      موفق باشید

  11. بابک

    با درود.
    پس از اینکه این کار و انجام دادیم و بعد از مدتی اگر بخواهیم قالب رو عوض کنیم و تعداد بازدید ی که ایجاد شده رو در قالب جدید هم داشته باشیم و صفر نشه چه باید کرد؟
    با سپاس

    1. امیر خلجی مهر

      درود بابک جان
      اگر در کدها تغییری ایجاد نکنید آمار بازدید از بین نخواهد رفت، این آمار در دیتابیس ذخیره میشوند و ارتباطی با تعویض پوسته ندارند
      موفق باشید

      1. بابک

        با درود جناب خلجی و سپاس از پاسخ شما
        بنده قبلا از تم الگانت استفاده میکردم و کد آمار بازدید رو در فانکشن و … همون قالب گذاشته بودم.چند روزی هست دارم از قالب صحیفه استفاده میکنم و در ورژن جدید این قالب کد آمار بازدید موجود هست و متاسفانه هیچ کدوم از آمارهای قبلی رو نشون نمیده. و مجدد شروع به ایجاد تعداد بازدی کرده 🙂
        برای همین بود که مزاحم شما شدم.اگر راهی هست ازتون سپاسگزار میشم ، راهنمایی بفرمایید یا منبعی رو برای رفع مشکل من اعلام کنید.با سپاس

        1. امیر خلجی مهر

          بابک جان، همونطور که گفتم در پوسته صحیفه به احتمال زیاد تغییری در نام تابع موجود در کد داده شده
          شما باید از کدی که در پوسته الگانت تمز وجود داشت استفاده کنید، برای اطلاعات بیشتر میتونید مشکل رو در انجمن مطرح کنید تا دوستان شما رو راهنمایی بفرمایند.
          شاد باشید دوست خوبم

          1. بابک

            سپاس جناب خلجی گرامی

  12. کوروش

    سلام
    اقا من مراحلی که گفتید رو انجام دادم
    در انتها کد اخر رو در post php قرار دادم
    کل سایتم پاک شد …ههههههههههههههههههه
    حالا چه غلطی بنمایم… ای جان برادر

    1. امیر خلجی مهر

      کوروش جان، قربون اون نامت برم 🙂
      خودمون تو ماندگار داریم از این کد استفاده میکنیم و مشکلی نداره، احتمالا شما کدها رو بین سایر کدها قرار دادید و تداخلی ایجاد شده که باعث بوجود اومدن این مشکل شده
      برای رفع مشکل هم اگه پوسته رو از جایی دریافت کردید مجدد اینکار و انجام بدیدُ جایگزین کنید

  13. محسن

    با سلام خیلی خوب استفاده کردم
    یه سوال
    اگه بخوام لیست پربازدیدترین ها رو تو صفحه اول نشون بدم چ باید بکنم ؟

    1. امیر خلجی مهر

      درود
      اینو تست کنید (تو جایی که دوست دارید نمایش داده بشه قرار بدید)
      [php]
      4, ‘meta_key’ => ‘post_views_count’, ‘orderby’ => ‘meta_value_num’, ‘order’ => ‘DESC’ ) );
      while ( $popularpost->have_posts() ) : $popularpost->the_post();

      the_title();

      endwhile;
      ?>
      [/php]

  14. آموزش شبکه

    ای کاش یه نما از خروجی کار هم میذاشتید . افزونه ای که خودتون استفاده کردید و تو صفحه اصلی جلوی تایتل هر پست نوشته تعداد بازدید و علامت چشم داره چیه ؟ ؟ میشه همون رو معرفی کنید ؟

    1. امیر خلجی مهر

      همون چیزی که تماشا کردید هست، موردی که میفرمایید هم ارتباطی با افزونه نداره و از فونت آیکون استفاده شده

  15. پیام

    ببخشید دوست عزیز فهمیدم چرا دوتا دوتا بالا میره دستور دوم رو که گفته بودید تو سینگل بذاریم نباید باشه
    لطفا اطلاع رسانی کنید شاید فقط مسکل من نباشه

    1. امیر خلجی مهر

      درود
      پیام جان دستور باید تو فایل سینگل قرار بگیره تا کد اجرا بشه و تو هر اجرا شماره به کانتر اضافه بشه
      مشکل چندتایی شمردن بازدید میتونه به بد ریست شدن کوئری و… بستگی داشته باشه
      شاد و پیروز باشید.

  16. امیر

    با سلام و درود فراوان
    متاسفانه هر کاری میکنم تعداد بازدید بازم صفر میمونه.
    کامنتای دیگر دوستانم در اینباره خوندم ولی درست نشد.
    لطف کنید راهنماییم کنید.
    با سپاس

    1. امیر خلجی مهر

      درود امیر جان
      کد هیچ مشکلی نداره دوست من، پیشنهاد میکنم در انجمن مطرح کنید تا دوستان با دقت بیشتری مشکل شما رو بررسی کنند:
      http://forum.wp-parsi.com/

  17. omid

    سلام چجوری میشه مطالب محبوب دسته جاری رو نشون داد مثلا دسته وردپرس باز شده محبوبترین مطالب همین دسته رو نشون بده اگه میشه فیلترشو بهش اضافه کنید
    4, ‘meta_key’ => ‘post_views_count’, ‘orderby’ => ‘meta_value_num’, ‘order’ => ‘DESC’ ) );
    while ( $popularpost->have_posts() ) : $popularpost->the_post();
    ?>

    1. امیر خلجی مهر

      درود بر شما
      د انجمن مطرح کنید:
      http://forum.wp-parsi.com

      گرچه اگر جستجو کنید حتما آموزشی پیوسته با این درخواست رو پیدا خواهید کرد.

  18. ghofrani

    سلام
    اگر همین کاری که فرمودید بخواهیم برای نمایش تعداد بازدید از آگهی و یا محصول انجام بدهیم
    باید چه کار کنیم؟؟؟؟؟

    تشکر

  19. عرفان

    سلام
    من تازه با سایت شما آشنا شدم و چند سوال مهم داشتم اگه ممکنه راهنمایی کنید.
    میخاستم برای مطالب سایت سوال طراحی کنم و هر کاربری که وارد سایت میشه به سوالات که پاسخ داد تعداد پاسخ صحیح رو از غلط تشحیص بده و برای صحیح ها امتیاز بده و امتیاز هر مطلب رو با امتیازهایی که از قبل به دست آوره جمع کنه و اینکه بعد از اینکه جواب رو ارسال کرد سیستم به کابر پیام بده که مثلا ” شما به 3 سوال پاسخ صحیح دادید”
    آخر هر ماه هم امتیاز اون ماه صفر بشه و از ماه جدید دوباره سیستم امتیاز بده بهش اما کل امتیازهایی که در طول چند ماه میاره جداگانه نوشته بشه و فقط امتیاز هر ماه اول ماه جدید صفر بشه.
    ممنون

  20. علی

    با سلام. کاش به صورت تصویری توضیح میدادید. زیرا این حلقه مطلب در بین دستورات را نیمدانم کجاست. یک عکس میگذاشتید کافی بود. سپاس

  21. مصطفی

    سلام
    ممنون از شما
    ولی میشه بگید محل مناسب کجاست؟
    کمی ریزتر توضیح بدید که اونایی که مثل من کمتر بلدیم، بتونیم انجام بدیم

    1. امیر خلجی مهر

      درود
      در محل مناسبی از فایل Functions قرار دهید، یعنی اینکه لابلای کدهای دیگه قرار نگیره، شما تو اولین خط فایل فانکشن، تگ زیر رو تماشا میکنید:

      کدی که گفته شده رو پس از این خط قرار بدید.

  22. مهیار

    سلام خسته نباشید
    خیلی عالی بود واقعا کارمو راه انداخت ، فقط یه مشکل هست اونم اینکه من میخوام مطالب پربازدید رو هم به همین شکل بدون افزونه نمایش بدم میشه اونم آموزشش رو به ایمیلم بفرستید ؟
    سایت من قسمت بهترین های هفته ، ماه و … داره میخوام ببینم چجوری میشه تنظیمش کرد ؟

  23. مینا عالی

    سلام
    خیلی ممنون از مطالبتون فقط من میخوام دقیقا مثل تصویری که گذاشتین مثل یک شمارنده مقدار بازدید رو نمایش بدم میشه بفرمایید باید چیکار کرد؟

    1. امیر خلجی مهر

      درود
      این تصویر تنها تزیینی هست، کدی که در این نوشته آمده است، تنها مقدار را چاپ میکند، برای نمونه: 12345 بازدید

    1. امیر خلجی مهر

      درود
      خاطرم هست یه افزونه رایگان آماده شده بود، اگر چیز خاصی پیدا نکردید، میتونید سفارش بدید تا براتون بصورت اختصاصی آماده کنیم.

  24. حسین پور

    با سلام و عرض ادب
    بنده نیز نیاز به این دارم که بهترین های هفته ، ماه و … میخوام ببینم چجوری میشه تنظیمش کرد ؟
    نمایش تعداد پست هت بدون مشکل انجام می شه…
    لطفا راهنمایی بفرمایید

    1. امیر خلجی مهر

      با درود
      خواهشمندم در سایر سایت‌ها جستجو کنید و یا در انجمن بازگو کنید تا دوستان راهنمایی کنند:
      http://forum.wp-parsi.com/

    1. امیر خلجی مهر

      درود
      این ویژگی باید در پوسته پیاده‌سازی شود و به ووکامرسی یا ای‌دی‌دی بودن سایت ارتباطی ندارد.

    1. امیر خلجی مهر

      درود
      نیازی به دگرگونی نیست، این کد تو همه‌ی کوئری‌های وردپرس به‌درستی کار می‌کنه و تنها باید تابع در کوئری بکار گرفته بشه.

  25. علی افتخاری

    سلام . خسته نباشید . اقا بنده از این کد در وب سایتم استفاده کردم همه چیز اوکیه اما تعداد بازدید در این تابع با اعداد انگلیسی نمایش داده میشود و در سایتی که همه ی اعداد ان فارسی هستند زیاد چشم نواز نیست . چطور میتونم اعدا نمایش داده رو فارسی کنم ؟ میشه لطفا راهنمایی کنید ؟ سپاس گذارم

  26. علی

    سلام خسته نباشید
    اولا خیلی ممنون بابت مطلب مفیدتون
    ببخشید من وقتی از افزونه Wp Rocket و قابلیت کش استفاده میکنم بازدید پست ها حساب نمیشه اما بدون اون خیلی خوب کار میکنه.
    میخواستم بدونم چطوری میتونم این توابع رو تو استثناعات افزونه قرار بدم و یا روشی هست که هم از افزونه کش استفاده کرد هم از این تابع؟

    متشکر

    1. امیر خلجی مهر

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

  27. Amir

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

    بخاطر پرداخت پول به ادمین ها نیاز خیلی ضروری دارم بهش

  28. یوسفی

    سلام
    من می خوام پست هایم مثل این سایت آمار بازدید هر پست در کنارش داشته باشه . میشه راهنمائی کنید چکار کنم؟ با تشکر فراوان

  29. reza

    با سلام
    من از این کدهای شما برای آمار بازدیدکننده استفاده کردم و درست هم کار میکنه فقط دوتا مشکل است یکی اینکه چطور میشه دوباره صفرش کرد چون روی لوکال دارم سایت رو طراحی میکنم و دوم
    اینکه در قسمت ویرایش پست ها آیتمی با این عنوان دیده نمیشه در صورتیکه نام نویسنده، تاریخ انتشار هم بنده در پایین پست ها قرار دادم.
    ممنون میشم راهنمایی کنید.

    1. امیر خلجی مهر

      با درود.

      مورد نخست رو نادیده بگیرید، چون باید به دیتابیس بروید و ویرایشات رو انجام بدید که هم زمان‌گیر هست و هم حساس.
      برای اینکه آمار بازدید رو در پیشخوان هم داشته باشید، باید افزونه آمار بازدید رو نصب کنید و از کد استفاده نکنید:
      https://wordpress.org/plugins/wp-postviews/

  30. nazli

    سلام و وقت بخیر.. میشه من روراهنمایی کنید .. من می خوام مواردی که در بخش امار سایت نشون میده رو محدود کنم از قسمت ابزارک ها که میرم و اون ایتم هارو تغییر بدم پیام خطایی رخ داد. لطفاً
    ” برگه را دوباره بارگذاری و دوباره تلاش نمایید” نمایش میده چیکار کنم؟ (من طراح سایت نیستم فقط میخفقط مطلب می ذارم)

  31. تقی وحید

    سلام.
    این کد با پلاگین‌های کش و افزایش سرعت وردپرس مشکل داره و کار نمی‌کنه. یعنی درصورتی که یک صفحه توسط پلاگینی مثل wp-rocket کش شده باشد تعداد بازدید ذخیره نمیشه.
    راه حلی هست برای این مشکل؟

    1. امیر خلجی مهر

      درود.

      شوربختانه خیر، این مورد را با افزونه بکار بگیرید، شاید هماهنگی‌ای بین افزونه بازدید و افزونه‌های کش وجود داشته باشد.

  32. حسین

    سلام خسته نباشید ، دمت گرم آموزش خیلی عالی بود من تونستم بدون مشکل بازدید پست راه اندازی کنم

  33. حمید رضا

    عالیه به درستی کار میکنه. چطور میشه قسمت شمارنده رو محدود کرد تا کاربران تکراری رو شمارش نکنه؟ برای مثال برای هر Refresh یک بازدید اضافه نکنه

دیدگاه خود را بنویسید

ماندگار وب - 1400