نمایش آمار بازدید از مطالب در پنل وردپرس

دسته‌ها : پی اچ پی, وردپرس علی میرزائی 17 دیدگاه‌ها

نمایش آمار بازدید از مطالب در پنل مدیریت وردپرس

مدتی پیش، آموزشی رو با عنوان “نمایش آمار بازدید از مطالب، بدون نیاز افزونه” در سایت منتشر کرده بودیم که به ارائه راه حلی ساده و کاربردی جهت نمایش آمار بازدید از پست ها می پرداخت.
در همون آموزش، تعدادی از دوستان پرسشی رو مطرح کرده بودن که آیا میشه این آمار رو در پنل مدیریت هم نمایش داد؟، در پاسخ مثبت به این دوستان امروز آموزشی رو آماده کردیم که با استفاده از اون میتونید به سادگی آمار بازدیدهاتون رو خصوصی سازی کنید 😉

در قدم اول، چنانچه مراحل و توابع آموزش قبل رو در پوسته اعمال نکردید! به پست مربوطه مراجعه و موارد توضیح داده شده رو دنبال کنید.
در قدم بعد، نوبت به تعریف و استفاده از توابعی جدید (طبق متغیرهای پیشین) میرسه. برای این منظور ابتدا تابعی رو با نام get_PostViews تعریف میکنیم. کار این تابع اینه که طبق کلید post_views_count (نام گذاری شده بر اساس توابع آموزش قبل) در تابع وردپرسی get_post_meta، اطلاعات آماری هر پست رو فراخوانی و دریک متغیر جایگذاری میکنه.

function get_PostViews($postID){
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    return $count;
}

پس از فراخوانی اطلاعات، لازمه تا ستونی رو در جدول نوشته ها ایجاد کنیم که به ترتیب آمار بازدید هر پست رو در سطر مربوط به خودش نمایش بده. پس، از تابع زیر برای تعریف یک ستون خام با نام post_views استفاده میکنیم:

function post_column_views($newcolumn){
    $newcolumn['post_views'] = __('Views');
    return $newcolumn;
}
add_filter('manage_posts_columns', 'post_column_views');

تا اینجا اگه به بخش “همه نوشته ها” مراجعه کنید، میبینید که ستونی با عنوان Views در جدول نوشته ها ایجاد شده ولی هیچ مقداری رو در خودش نداره! خوب، مشخص که قدم بعدی ما قرار دادن مقادیرآماری در سطرهای صحیح هر پست.

برای این منظور تنها به یک تابع دیگه نیاز داریم:

function post_custom_column_views($column_name){
    if($column_name === 'post_views'){
        echo get_PostViews(get_the_ID());
    }
}
add_action('manage_posts_custom_column', 'post_custom_column_views',10,2);

با استفاده از تابع بالا، اطلاعات هر پست رو در سطرهای ستون post_views، با چاپ مقدار بازگشتی تابع get_PostViews، نمایش میدیم.

و کار تمومه… :)

منبع : دنیای وردپرس و برنامه نویسی – www.alimir.ir

دیدگاه کاربران در مورد این نوشته

  1. دقیقا نفهمیدم این کد رو باید تو کدوم فایل php قرار بدیم اخه قالب من خودش مشاهده رو داره داخل پنل نداره

    توسط علی قنبری پاسخ

  2. قالب سایتتون خیلی ساده و قشنگ هستش….

    توسط نفس پاسخ

    1. مرسی نفس جان، نظر لطفتونه :)

      توسط علی میرزائی پاسخ

  3. خیلی ممنون از مطالب مفیدتون….عالی بود
    خیلی استفاده کردم :)

    توسط نفس پاسخ

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

    توسط hassan پاسخ

    1. سلام حسن جان، میتونی از قابلیت add_theme_support استفاده کنی:
      http://tiny.alimir.ir/e4X

      توسط علی میرزائی پاسخ

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

    توسط رحمت حاجی سعدین پاسخ

  6. سلام علی جان ممنون جالب بودن
    راستی اگه یه مقاله متفاوت برای افزایش بازدید هم بزاری جالب می شد

    توسط Guney پاسخ

  7. با سلام خدمت شما یه درخواستی ازتون داشتم میشه قالب وب سایتتون رو به من بدید باتشکر؟؟؟؟؟؟؟؟؟؟؟؟

    توسط rahmat پاسخ

    1. متأسفم، قالب اختصاصیه.

      توسط علی میرزائی پاسخ

  8. سلام می گم با استفاده از این کار امار واقعی رو نشون میده ، منظورم اینه که مثلاً من از یک نوشته بازدید کردم ، بعد دوباره F5 زدم صفحه یک بار دیگه اومد دوبار نشون نده – 1 بار … ؟؟؟؟
    میشه یک افزونه نیز معرفی کنید برای امار واقعی بازدید نوشته ها ؟؟؟

    توسط rafiee پاسخ

    1. برای اون حالت باید کوکی تعریف کنید.
      والا افزونه آماره خیلی زیاد و الآن نمونه خاصی رو در ذهن ندارم. لینک زیر رو بررسی کنید:
      http://tiny.alimir.ir/VH

      توسط علی میرزائی پاسخ

  9. با سلام.نگفتید برای بزگه ها هم امکانش است است یا نه

    توسط سایانت پاسخ

  10. عالی بود ممنون.چگونه میشه این امکان را علاوه بر « نوشته ها » به « برگه ها» هم اضافه کرد؟

    توسط سایان نت پاسخ

    1. جهت نمایش در بخش برگه ها، میتونید از دستور manage_pages_columns استفاده کنید.
      http://tiny.alimir.ir/Fo

      توسط علی میرزائی پاسخ

  11. مرسی عالی بود….

    توسط سریال دانلود پاسخ

  12. ممنون از مطالب خوبتون

    توسط mohammad پاسخ

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