وردپرس (WordPress) Post Meta Helper پلتفرم: wordpress متوسط (Medium) سطح ریسک: پایین و بی‌خطر (Low Risk)

شمارنده تعداد بازدید پست‌ها بدون افزونه در وردپرس (Post View Counter)

تست‌شده و بازبینی‌شده در 1405/06/29 ۵۸۲ بار کپی ۲۱۹۶ مشاهده
پاسخ سریع و خلاصه کاربردی (Quick Answer)

با تابع زیر در اکشن `wp_head` بازدید ثبت شده و با `[post_views]` تعداد بازدیدها نمایش داده می‌شود.

مشخصات فنی و شناسنامه کد (Code Information)

بازبینی: 1405/06/29
پلتفرم اجرایی (Platform) wordpress
نوع کد (Code Type) Post Meta Helper
محل قرارگیری فایل (Location) functions.php
سطح دشواری (Difficulty) متوسط (Medium)
سطح ریسک (Risk Level) پایین و بی‌خطر (Low Risk)
نیاز به بکاپ اولیه؟ خیر (کم‌ریسک)
سازگاری با وردپرس تمامی نسخه‌ها
سازگاری با ووکامرس و HPOS سازگار
|
<?php
/**
 * سیستم سبک ثبت و نمایش تعداد بازدید پست در متای وردپرس
 */
function bisco_track_post_views() {
    if ( ! is_single() ) {
        return;
    }

    global $post;
    if ( ! isset( $post->ID ) ) {
        return;
    }

    // عدم شمارش بازدید ربات‌ها یا پیش‌نمایش‌ها
    if ( is_preview() || is_robots() ) {
        return;
    }

    $post_id = $post->ID;
    $count_key = 'bisco_post_views_count';
    $count = (int) get_post_meta( $post_id, $count_key, true );

    if ( empty( $count ) ) {
        delete_post_meta( $post_id, $count_key );
        add_post_meta( $post_id, $count_key, 1 );
    } else {
        $count++;
        update_post_meta( $post_id, $count_key, $count );
    }
}
add_action( 'wp_head', 'bisco_track_post_views' );

// شورت‌کد نمایش بازدید
add_shortcode( 'post_views', function() {
    $post_id = get_the_ID();
    $count = (int) get_post_meta( $post_id, 'bisco_post_views_count', true );
    return '<span class="bisco-post-views">بازدید: ' . number_format_i18n( $count ) . '</span>';
} );

کد را کجا قرار دهیم؟ (Placement Guide)

کد را در functions.php قرار داده و در فایل پوسته یا با شورت‌کد `[post_views]` نمایش دهید.

مسیر فایل: functions.php

این کد چگونه کار می‌کند؟ (How it Works)

هنگامی که کاربر برگه نوشته را باز می‌کند، هوک wp_head متای 'bisco_post_views_count' را خوانده و یک واحد به آن می‌افزاید.

چه زمانی از این کد استفاده کنیم؟ (Use Cases)

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

چه زمانی نباید از این کد استفاده کنیم؟ (Anti-patterns)

در سایت‌هایی با کش تمام‌صفحه لایه Edge/CDN بدون تنظیم دور زدن کش، یا سایت‌های با ترافیک میلیون بازدید در ثانیه (که نیاز به ردیس دارند).

پیش‌نیازهای اجرا

وردپرس ۳.۰ به بالا.

نحوه تست و اطمینان از عملکرد

یک مقاله را باز کرده و چند بار رفرش کنید؛ عدد بازدید باید افزایش یابد.

نحوه بازگردانی سریع (Rollback)

کد را حذف کنید.

خطاهای رایج و راه‌حل رفع

شمارش بازدید توسط ربات‌های گوگل یا ادمین‌ها که در صورت نیاز می‌توان با شرط `!current_user_can('manage_options')` جلوی آن را گرفت.

ملاحظات و نکات امنیتی

ورودی‌ها تبدیل به عدد صحیح (int) و خروجی با number_format_i18n بومی‌سازی شده است.

تاثیر بر سرعت و پرفورمنس

یک کوئری سبک روی جدول wp_postmeta اجرا می‌شود.

پرسش‌های متداول پیرامون این کد (FAQ)

در صورت کش کامل HTML، ثبت بازدید ممکن است نیازمند ارسال درخواست AJAX باشد اما برای اکثر سایت‌ها عالی کار می‌کند.
منابع و مستندات رسمی بررسی‌شده (Official Sources):

سبد خرید شما

0 افزونه

سبد خرید شما خالی است

هنوز محصولی را به سبد خرید اضافه نکرده‌اید. می‌توانید از افزونه‌های اختصاصی ما دیدن فرمایید.

مشاهده فروشگاه افزونه‌ها

ثبت درخواست مشاوره

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

مشاور
پشتیبانی و مشاوره تخصصی
پاسخگویی سریع کارشناسان
09903336117