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

- سریعترین راه، افزونهٔ رایگان EZRate Price Widgets است: بعد از فعالسازی، با یک دکمه نوار قیمت بالای سایت قرار میگیرد.
- برای جای دقیقتر از بلوک گوتنبرگ، ابزارک (Widget) یا شورتکد استفاده کنید.
- اگر محاسبه روی قیمت لازم دارید (مثل ووکامرس)، به API وصل شوید و پاسخ را با Transients کش کنید.
بیشتر سایتهای خبری، فروشگاهی و طلافروشی ایرانی روی وردپرس ساخته شدهاند و یکی از پرتکرارترین درخواستهای مدیرانشان نمایش نرخ روز دلار و طلا در سایت است. در این آموزش نمایش قیمت ارز در وردپرس را به سه روش، از ساده به پیشرفته، یاد میگیرید تا بسته به نیاز یکی را انتخاب کنید.
این مطلب زیرمجموعهٔ آموزش API قیمت ارز و طلا است. اگر بهدنبال مقایسهٔ همهٔ ابزارهای نمایش قیمت (ویجت، تابلو تلویزیون، ربات تلگرام) هستید، راهنمای ابزارهای نمایش قیمت را بخوانید.
کدام روش برای سایت شما مناسب است؟
| روش | مناسب برای | مهارت لازم | کلید API |
|---|---|---|---|
| افزونهٔ وردپرس | نمایش نوار، جدول، کارت یا نمودار قیمت | هیچ | لازم نیست |
| کد ویجت | سایتهای غیروردپرسی یا قالبهای خاص | کپی یک خط HTML | لازم نیست |
| اتصال مستقیم به API | محاسبه روی نرخ، قیمتگذاری محصول، ذخیره | PHP | لازم است |
روش اول: افزونهٔ EZRate Price Widgets
- در پیشخوان وردپرس به «افزونهها › افزودن» بروید و «EZRate» را جستجو کنید. اگر افزونه هنوز در مخزن نمایش داده نمیشود، فایل zip را از صفحهٔ ویجتها بگیرید و از «بارگذاری افزونه» نصب کنید.
- افزونه را فعال کنید. پیام خوشآمد بالای پیشخوان ظاهر میشود.
- روی «افزودن به بالای سایت» بزنید تا نوار قیمت ثابت بالای همهٔ صفحهها قرار بگیرد، یا «ساخت صفحهٔ قیمتها» را بزنید تا یک صفحهٔ کامل نرخها ساخته شود.
- از «تنظیمات › EZRate» داراییها، زبان، واحد پول و تم روشن یا تیره را انتخاب کنید.

افزونه پنج نوع نمایش دارد: نوار متحرک (Ticker)، نوار ثابت، کارتها، جدول و نمودار. نوار ثابت و متحرک مناسب هدر سایتاند و جدول و نمودار مناسب صفحههای تحلیلی. آموزش جداگانهٔ نوار متحرک قیمت در هدر وردپرس جزئیات جایگذاری در قالبهای مختلف را دارد.
روش دوم: بلوک، ابزارک و شورتکد
برای نمایش قیمت داخل یک نوشته یا برگه، در ویرایشگر گوتنبرگ بلوک «EZRate» را اضافه کنید و نوع نمایش را از ستون تنظیمات انتخاب کنید. در قالبهای کلاسیک، از «نمایش › ابزارکها» ابزارک EZRate را در ستون کناری بگذارید. در صفحهسازهایی مثل المنتور، شورتکدی را که افزونه در صفحهٔ تنظیمات نشان میدهد در یک ابزارک «کد کوتاه» قرار دهید.
روش سوم: اتصال مستقیم وردپرس به API
وقتی میخواهید روی نرخ محاسبه کنید، مثلاً قیمت یک کالا را بر اساس دلار روز بسازید، به خود عدد نیاز دارید نه به نمایش آن. کد زیر را در افزونهٔ کوچک اختصاصی خود (یا فایل functions.php قالب فرزند) بگذارید. پاسخ ۶۰ ثانیه در Transients وردپرس ذخیره میشود تا هر بازدید یک درخواست جدید نسازد:
<?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) با دلار، یورو، طلا، سکه و تتر | بالای هدر، همهٔ صفحهها |
| فروشگاه کالای دلاری | کارت دلار و یورو | ستون کناری یا صفحهٔ محصول |
| طلافروشی | جدول طلای ۱۸، مثقال، سکهها و انس | صفحهٔ اصلی و صفحهٔ «قیمت روز» |
| وبلاگ تحلیلی | نمودار یکماهه | داخل مقاله، کنار تحلیل |
| سایت شرکتی بازرگانی | نوار ثابت کوچک با ارزهای کاری شرکت | پایین صفحه |
یک قاعدهٔ ساده: هرچه نمایش بزرگتر است، جای کمتری از سایت را بگیرد. نوار بالای سایت در همهٔ صفحهها دیده میشود، پس فقط ۴ تا ۶ نرخ اصلی را در آن بگذارید. جدول کامل را در یک برگهٔ اختصاصی «قیمت روز» قرار دهید و از منوی سایت به آن لینک بدهید.
تنظیمات پیشنهادی افزونه
- زبان: همزبان با سایت. افزونه فارسی و انگلیسی را کامل پشتیبانی میکند.
- واحد: برای مخاطب داخلی تومان؛ برای سایتهای بینالمللی یا مخاطب خارج از ایران، دلار یا یورو.
- تم: با رنگ هدر سایت هماهنگ کنید. تم تیره روی هدرهای رنگی خواناتر است.
- صفحهها: اگر نوار بالای سایت را فقط در صفحهٔ اصلی و نوشتهها میخواهید، گزینهٔ «کجا نمایش داده شود» را تغییر دهید.
عیبیابی: قیمتها نمایش داده نمیشوند
- کش صفحهٔ افزونهٔ کش (WP Rocket، LiteSpeed و…) را پاک کنید.
- اگر افزونهٔ بهینهسازی جاوااسکریپت دارید، اسکریپت EZRate را از «تأخیر در اجرا» و ترکیب فایلها مستثنا کنید.
- از «تنظیمات › EZRate» دکمهٔ بررسی اتصال را بزنید. بعضی هاستها درخواستهای خروجی سرور را مسدود میکنند؛ در این صورت از پشتیبانی هاست بخواهید دسترسی خروجی HTTPS را باز کنند.
- در قالبهای کلاسیک، مطمئن شوید قالب تابع
wp_footer()را صدا میزند؛ بدون آن هیچ اسکریپتی بارگذاری نمیشود.
برای جزئیات بیشتر دربارهٔ حفظ سرعت سایت، ویجت قیمت و سرعت سایت را بخوانید.

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

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


