آموزش نمایش IP کاربر در سایت وردپرسی با شورت‌کد

نمایش IP کاربر در وردپرس

گاهی نیاز دارید آدرس IP بازدیدکنندگان را در سایت وردپرسی نمایش دهید. مثلاً برای ابزارهای تست شبکه، صفحات عیب‌یابی یا نمایش اطلاعات اتصال کاربر.

روش ۱: شورت‌کد در functions.php

کد زیر را به functions.php قالب فرزند اضافه کنید:

function show_user_ip_shortcode() {
    $ip = '';
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return '<strong>' . esc_html($ip) . '</strong>';
}
add_shortcode('user_ip', 'show_user_ip_shortcode');

سپس در هر صفحه یا نوشته از شورت‌کد [user_ip] استفاده کنید.

روش ۲: استفاده از PHP مستقیم

در فایل قالب (مثل page.php):

<?php echo esc_html($_SERVER['REMOTE_ADDR']); ?>

روش ۳: افزونه

افزونه‌هایی مانند What Is My IP Address بدون نیاز به کدنویسی IP کاربر را نمایش می‌دهند.

نکته مهم: Reverse Proxy و CDN

اگر از CloudFlare یا Reverse Proxy (مانند Nginx) استفاده می‌کنید، REMOTE_ADDR آدرس IP پراکسی را نشان می‌دهد، نه IP واقعی کاربر. در این حالت باید HTTP_X_FORWARDED_FOR یا هدر CF-Connecting-IP (برای CloudFlare) را بخوانید:

$real_ip = $_SERVER['HTTP_CF_CONNECTING_IP'] ?? 
           $_SERVER['HTTP_X_FORWARDED_FOR'] ?? 
           $_SERVER['REMOTE_ADDR'];

نکات امنیتی

همیشه خروجی IP را با esc_html() فیلتر کنید تا از حملات XSS جلوگیری شود. IP کاربران را بدون رضایت آن‌ها ذخیره نکنید (قوانین GDPR). از نمایش IP فقط در صفحات ضروری استفاده کنید.

هاست وردپرس میهن هاستینگ با PHP بهینه برای اجرای شورت‌کدها. سرور مجازی با IP اختصاصی.

🌐 هاست وردپرس

PHP بهینه و پشتیبانی تخصصی وردپرس.

مشاهده هاست وردپرس ←

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

متن نظر
نام*:
رایانامه*:
وب سایت / وبلاگ: