دليل/تحويل العملات في WooCommerce تحويل العملات في WooCommerce
تحويل العملات في WooCommerce. دليل عملي يتضمن الشفرة والتخزين المؤقت وبيانات الحداثة.
نفّذ التكامل على الخادم دون كشف بيانات الاعتماد، واحتفظ بالمصدر ووقت الرصد.
نقاط أساسية
احتفظ بمفتاح API على الخادم. تحقق من رموز العملات والمبالغ. خزّن الاستجابات الناجحة مؤقتًا. الخطوة 1
مثال برمجيcopy
function exr_convert_for_display($amount, $from, $to) {
$from = strtoupper(sanitize_text_field($from));
$to = strtoupper(sanitize_text_field($to));
$cache_key = 'exr_' . md5($from . '_' . $to);
$rate = get_transient($cache_key);
if ($rate === false) {
$url = sprintf('https://api.exchangerate.dev/v1/convert/%s/%s/1', $from, $to);
$response = wp_remote_get($url, array(
'timeout' => 5,
'headers' => array('Authorization' => 'Bearer ' . EXCHANGERATE_API_KEY),
));
if (is_wp_error($response) || wp_remote_retrieve_response_code($response) !== 200) {
return null;
}
$body = json_decode(wp_remote_retrieve_body($response), true);
$rate = isset($body['rate']) ? (string) $body['rate'] : null;
if ($rate === null) return null;
set_transient($cache_key, $rate, MINUTE_IN_SECONDS);
}
return (float) $amount * (float) $rate;
}الخطوة 2
نفّذ هذا النمط على الخادم، وتحقق من المدخلات، واحتفظ ببيانات الاستجابة.
مثال برمجيcopy
add_filter('woocommerce_get_price_html', function ($html, $product) {
$estimate = exr_convert_for_display((float) $product->get_price(), 'USD', 'EUR');
if ($estimate === null) return $html;
return $html . '<small class="fx-estimate">Estimated ' .
wp_kses_post(wc_price($estimate, array('currency' => 'EUR'))) . '</small>';
}, 10, 2);الخطوة 3
- احتفظ بمفتاح API على الخادم.
- تحقق من رموز العملات والمبالغ.
- خزّن الاستجابات الناجحة مؤقتًا.
- اعرض المصدر ووقت الرصد.
دليل
هذه أسعار إرشادية وليست أسعار تسوية.