Передать значения в WordPress
Есть парсер динамики курса валют от ЦБ
# Базовый URL скрипта на cbr.ru
$scripturl = 'http://www.cbr.ru/scripts/XML_dynamic.asp';
# Начальная дата для запроса (сегодня - 2 дня)
$date_1=date('d/m/Y', time()-172800);
# Конечная дата (чтобы учитывать завтра добавьте параметр time()+86400)
$date_2=date('d/m/Y');
# Таким образом, мы получим данные либо за 2, либо за 3 последних дня.
# За 2 - если на "сегодня" курс еще не выставили, иначе - за 3
# Код валюты в архиве данных cbr.ru
$currency_code='R01235';
# URL для запроса данных
$requrl = "{$scripturl}?date_req1={$date_1}&date_req2={$date_2}&VAL_NM_RQ={$currency_code}";
$doc = file($requrl);
$doc = implode($doc, '');
# инициализируем массив
$r = array();
# ищем <ValCurs>...</ValCurs>
if(preg_match("/<ValCurs.*?>(.*?)<\/ValCurs>/is", $doc, $m))
# а потом ищем все вхождения <Record>...</Record>
preg_match_all("/<Record(.*?)>(.*?)<\/Record>/is", $m[1], $r, PREG_SET_ORDER);
$m = array(); # его уже использовали, реинициализируем
$d = array(); # этот тоже проинициализируем
# Сканируем на предмет самых нужных цифр
for($i=0; $i<count($r); $i++) {
if(preg_match("/Date=\"(\d{2})\.(\d{2})\.(\d{4})\"/is", $r[$i][1],$m)) {
$dv = "{$m[1]}/{$m[2]}/{$m[3]}"; # Приводим дату в норм. вид
if(preg_match("/<Nominal>(.*?)<\/Nominal>.*?<Value>(.*?)<\/Value>/is", $r[$i][2], $m)) {
$m[2] = preg_replace("/,/",".",$m[2]);
$d[] = array($dv, $m[1], $m[2]);
}
}
}
$last = array_pop($d); # последний известный день
$prev = array_pop($d); # предпосл. известный день
$date = $last[0]; # отображаемая дата
$rate = sprintf("%.2f",$last[2]); # отображаемый курс
# отображаемое изменение курса, например, "+0.02"
$delta = (($last[2]>$prev[2])?"+":"").sprintf("%.2f",$last[2]-$prev[2]);
Как лучше всего передать значения переменных $date, $rate, $delta в вордпресс для дальнейшего использования? Сам скрипт находится в корне сайта и запускается раз в сутки по крону.
Ответы (1 шт):
Автор решения: KAGG Design
→ Ссылка
Проще всего передать данные в WordPress через опцию. Добавьте в конец своего скрипта
// Load WP.
require_once 'wp-load.php';
update_option( 'my_cb_data', [ $date, $rate, $delta ] );
И тогда на сайте WordPress в нужном шаблоне:
$my_cb_data = get_option( 'my_cb_data' );
$date = $my_cb_data[0];
$rate = $my_cb_data[1];
$delta = $my_cb_data[2];