ایزی ریت
ورود / ثبت‌نامورود

نمایش قیمت ارز در وردپرس؛ آموزش با افزونه، شورت‌کد و API

نمایش قیمت ارز در وردپرس به سه روش: افزونهٔ EZRate با یک کلیک، شورت‌کد و بلوک گوتنبرگ، یا اتصال مستقیم به API با کد PHP؛ همراه نکات سرعت و کش.

عرفان فضلی
· کارشناس توسعه و برنامه نویسی
انتشار ۳۰ مهر ۱۴۰۵، ۰۹:۰۰ · ۳ دقیقه مطالعه
نمایش قیمت ارز در وردپرس؛ آموزش با افزونه، شورت‌کد و API
خلاصه در سه خط
  • سریع‌ترین راه، افزونهٔ رایگان EZRate Price Widgets است: بعد از فعال‌سازی، با یک دکمه نوار قیمت بالای سایت قرار می‌گیرد.
  • برای جای دقیق‌تر از بلوک گوتنبرگ، ابزارک (Widget) یا شورت‌کد استفاده کنید.
  • اگر محاسبه روی قیمت لازم دارید (مثل ووکامرس)، به API وصل شوید و پاسخ را با Transients کش کنید.

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

★
پاسخ کوتاه
افزونهٔ «EZRate Price Widgets» را از پیشخوان وردپرس نصب و فعال کنید، سپس در پیام خوش‌آمد روی «افزودن به بالای سایت» بزنید. برای جای دلخواه، بلوک «EZRate» در ویرایشگر یا شورت‌کد افزونه را بگذارید. بدون کلید API و بدون کدنویسی.

این مطلب زیرمجموعهٔ آموزش API قیمت ارز و طلا است. اگر به‌دنبال مقایسهٔ همهٔ ابزارهای نمایش قیمت (ویجت، تابلو تلویزیون، ربات تلگرام) هستید، راهنمای ابزارهای نمایش قیمت را بخوانید.

کدام روش برای سایت شما مناسب است؟

روشمناسب برایمهارت لازمکلید API
افزونهٔ وردپرسنمایش نوار، جدول، کارت یا نمودار قیمتهیچلازم نیست
کد ویجتسایت‌های غیروردپرسی یا قالب‌های خاصکپی یک خط HTMLلازم نیست
اتصال مستقیم به APIمحاسبه روی نرخ، قیمت‌گذاری محصول، ذخیرهPHPلازم است

روش اول: افزونهٔ EZRate Price Widgets

  1. در پیشخوان وردپرس به «افزونه‌ها › افزودن» بروید و «EZRate» را جستجو کنید. اگر افزونه هنوز در مخزن نمایش داده نمی‌شود، فایل zip را از صفحهٔ ویجت‌ها بگیرید و از «بارگذاری افزونه» نصب کنید.
  2. افزونه را فعال کنید. پیام خوش‌آمد بالای پیشخوان ظاهر می‌شود.
  3. روی «افزودن به بالای سایت» بزنید تا نوار قیمت ثابت بالای همهٔ صفحه‌ها قرار بگیرد، یا «ساخت صفحهٔ قیمت‌ها» را بزنید تا یک صفحهٔ کامل نرخ‌ها ساخته شود.
  4. از «تنظیمات › EZRate» دارایی‌ها، زبان، واحد پول و تم روشن یا تیره را انتخاب کنید.
پیام خوش‌آمد افزونهٔ EZRate در پیشخوان وردپرس
قرار دادن نوار قیمت با یک کلیک

افزونه پنج نوع نمایش دارد: نوار متحرک (Ticker)، نوار ثابت، کارت‌ها، جدول و نمودار. نوار ثابت و متحرک مناسب هدر سایت‌اند و جدول و نمودار مناسب صفحه‌های تحلیلی. آموزش جداگانهٔ نوار متحرک قیمت در هدر وردپرس جزئیات جای‌گذاری در قالب‌های مختلف را دارد.

روش دوم: بلوک، ابزارک و شورت‌کد

برای نمایش قیمت داخل یک نوشته یا برگه، در ویرایشگر گوتنبرگ بلوک «EZRate» را اضافه کنید و نوع نمایش را از ستون تنظیمات انتخاب کنید. در قالب‌های کلاسیک، از «نمایش › ابزارک‌ها» ابزارک EZRate را در ستون کناری بگذارید. در صفحه‌سازهایی مثل المنتور، شورت‌کدی را که افزونه در صفحهٔ تنظیمات نشان می‌دهد در یک ابزارک «کد کوتاه» قرار دهید.

i
نکته
افزونه داده‌ها را در سرور وردپرس شما کش می‌کند و صفحه‌ها را برای گرفتن قیمت به سرور دیگری وابسته نمی‌کند؛ با افزونه‌های کش صفحه مثل WP Rocket و LiteSpeed Cache هم مشکلی ندارد.

روش سوم: اتصال مستقیم وردپرس به API

وقتی می‌خواهید روی نرخ محاسبه کنید، مثلاً قیمت یک کالا را بر اساس دلار روز بسازید، به خود عدد نیاز دارید نه به نمایش آن. کد زیر را در افزونهٔ کوچک اختصاصی خود (یا فایل functions.php قالب فرزند) بگذارید. پاسخ ۶۰ ثانیه در Transients وردپرس ذخیره می‌شود تا هر بازدید یک درخواست جدید نسازد:

php
<?php
// کلید را در wp-config.php تعریف کنید: define('EZRATE_KEY', 'ezr_live_…');
function ezrate_rates(string $symbols = 'usd,eur,g18,emami'): array {
    $cache_key = 'ezrate_' . md5($symbols);
    $cached = get_transient($cache_key);
    if ($cached !== false) {
        return $cached;
    }
    $res = wp_remote_get(
        'https://api.ezrate.me/v1/rates?symbols=' . rawurlencode($symbols),
        ['headers' => ['X-API-Key' => EZRATE_KEY], 'timeout' => 8]
    );
    if (is_wp_error($res) || wp_remote_retrieve_response_code($res) !== 200) {
        return get_option('ezrate_last_rates', []);   // آخرین نرخ معتبر
    }
    $rates = [];
    foreach (json_decode(wp_remote_retrieve_body($res), true)['data'] ?? [] as $r) {
        $rates[$r['symbol']] = $r;
    }
    set_transient($cache_key, $rates, 60);
    update_option('ezrate_last_rates', $rates, false);
    return $rates;
}

// شورت‌کد: [ezrate_price symbol="usd"]
add_shortcode('ezrate_price', function ($atts) {
    $s = sanitize_key($atts['symbol'] ?? 'usd');
    $r = ezrate_rates()[$s] ?? null;
    return $r ? esc_html(number_format_i18n($r['sell'])) . ' تومان' : '—';
});

به دو نکتهٔ این کد دقت کنید: کلید در wp-config.php تعریف شده و در پایگاه داده یا قالب نیست، و اگر API پاسخ ندهد آخرین نرخ معتبر نمایش داده می‌شود. برای قیمت‌گذاری محصولات ووکامرس با همین تابع، آموزش قیمت‌گذاری خودکار ووکامرس بر اساس دلار را ادامه دهید.

نکات سرعت و سئو

  • از افزونه‌هایی که قیمت را داخل iframe از سایت دیگری بارگذاری می‌کنند پرهیز کنید؛ هم کندترند و هم محتوای آن‌ها جزو صفحهٔ شما شمرده نمی‌شود.
  • نوار قیمت بالای سایت باید ارتفاع ثابت داشته باشد تا صفحه هنگام بارگذاری جابه‌جا نشود (CLS).
  • اثر ویجت قیمت بر ماندگاری کاربر و سئو را در ویجت قیمت لحظه‌ای و سئو بررسی کرده‌ایم.

کدام نوع نمایش برای کدام سایت؟

نوع سایتنمایش پیشنهادیمحل
سایت خبری و مجلهنوار متحرک (Ticker) با دلار، یورو، طلا، سکه و تتربالای هدر، همهٔ صفحه‌ها
فروشگاه کالای دلاریکارت دلار و یوروستون کناری یا صفحهٔ محصول
طلافروشیجدول طلای ۱۸، مثقال، سکه‌ها و انسصفحهٔ اصلی و صفحهٔ «قیمت روز»
وبلاگ تحلیلینمودار یک‌ماههداخل مقاله، کنار تحلیل
سایت شرکتی بازرگانینوار ثابت کوچک با ارزهای کاری شرکتپایین صفحه

یک قاعدهٔ ساده: هرچه نمایش بزرگ‌تر است، جای کمتری از سایت را بگیرد. نوار بالای سایت در همهٔ صفحه‌ها دیده می‌شود، پس فقط ۴ تا ۶ نرخ اصلی را در آن بگذارید. جدول کامل را در یک برگهٔ اختصاصی «قیمت روز» قرار دهید و از منوی سایت به آن لینک بدهید.

تنظیمات پیشنهادی افزونه

  • زبان: هم‌زبان با سایت. افزونه فارسی و انگلیسی را کامل پشتیبانی می‌کند.
  • واحد: برای مخاطب داخلی تومان؛ برای سایت‌های بین‌المللی یا مخاطب خارج از ایران، دلار یا یورو.
  • تم: با رنگ هدر سایت هماهنگ کنید. تم تیره روی هدرهای رنگی خواناتر است.
  • صفحه‌ها: اگر نوار بالای سایت را فقط در صفحهٔ اصلی و نوشته‌ها می‌خواهید، گزینهٔ «کجا نمایش داده شود» را تغییر دهید.

عیب‌یابی: قیمت‌ها نمایش داده نمی‌شوند

  1. کش صفحهٔ افزونهٔ کش (WP Rocket، LiteSpeed و…) را پاک کنید.
  2. اگر افزونهٔ بهینه‌سازی جاوااسکریپت دارید، اسکریپت EZRate را از «تأخیر در اجرا» و ترکیب فایل‌ها مستثنا کنید.
  3. از «تنظیمات › EZRate» دکمهٔ بررسی اتصال را بزنید. بعضی هاست‌ها درخواست‌های خروجی سرور را مسدود می‌کنند؛ در این صورت از پشتیبانی هاست بخواهید دسترسی خروجی HTTPS را باز کنند.
  4. در قالب‌های کلاسیک، مطمئن شوید قالب تابع wp_footer() را صدا می‌زند؛ بدون آن هیچ اسکریپتی بارگذاری نمی‌شود.

برای جزئیات بیشتر دربارهٔ حفظ سرعت سایت، ویجت قیمت و سرعت سایت را بخوانید.

نوار متحرک قیمت ارز و طلا در هدر یک سایت وردپرسی
نوار قیمت بالای سایت پس از فعال‌سازی

نرخ‌های لحظه‌ای مرتبط با این مطلب: قیمت دلار، قیمت طلای ۱۸ عیار، قیمت سکه امامی.

برای نمایش قیمت ارز در وردپرس باید کلید API بگیرم؟
برای افزونه و ویجت‌ها نه. کلید فقط وقتی لازم است که با کد PHP مستقیم به API وصل شوید.
افزونه سایت را کند می‌کند؟
خیر. داده‌ها در سرور شما کش می‌شوند و اسکریپت‌ها با تأخیر و بدون مسدود کردن بارگذاری صفحه اجرا می‌شوند.
آیا قیمت‌ها را به ریال یا به دلار هم می‌توان نشان داد؟
بله. واحد نمایش در تنظیمات افزونه قابل انتخاب است؛ تومان، دلار، یورو، لیر، درهم و روبل.
افزونه با المنتور کار می‌کند؟
بله. شورت‌کد افزونه را در ابزارک «کد کوتاه» المنتور قرار دهید.
عرفان فضلی
من در حوزه توسعه نرم‌افزار و برنامه‌نویسی فعالیت می‌کنم و به طراحی و پیاده‌سازی راهکارهای کاربردی و بهینه علاقه‌مندم. تمرکز من بر توسعه قابلیت‌های جدید، بهبود عملکرد سیستم‌ها و حل چالش‌های فنی با استفاده از فناوری‌های روز است. در مسیر کاری خود تلاش می‌کنم با یادگیری مستمر و به‌کارگیری روش‌های نوین برنامه‌نویسی، محصولات نرم‌افزاری کارآمد، پایدار و قابل‌اعتماد توسعه دهم.
همهٔ مطالب نویسنده ←

نظرات (۰)

نظرها پس از تأیید نمایش داده می‌شوند؛ برای ارسال، ورود به حساب لازم است.

مطالب مرتبط

API و برنامه‌نویسی
دریافت قیمت دلار با پایتون؛ آموزش قدم‌به‌قدم قیمت دلار و تتر با requests
API و برنامه‌نویسی
آموزش API قیمت ارز و طلا؛ راهنمای کامل وب‌سرویس نرخ لحظه‌ای برای توسعه‌دهندگان
رمزارز
آیا کیف پول قابل ردیابی است؟ راهنمای ردیابی کیف پول ارز دیجیتال و شناسایی صاحب آدرس