Перевод из доллара в гривну по курсу НБУ в woocommerce

Плагин дополнение для woocommerce, автоматический перевод из доллара в гривну по курсу НБУ. Плагин предназначен только для wordpress

1358 wordpress Aвтор:
Рейтинг: 0/5 - 0 голосов

Перевод из доллара в гривну по курсу НБУ в  woocommerce
 
 
Плагин предназначен для wordpress в частносте для плагина woocommerce.
Что умеет плагин?
  • Переводить цену из доллара в гривну на странице магазина. Это удобно если у вас все товары в долларах заданы.
  • Автоматически обновлять курс валют каждый день.
  • для работы нужен Curl (имеется на всех платных хостингах ),Проверьте включен ли он

/wp-content/plugins/название вашего плагина/название вашего плагина.php

например:

/wp-content/plugins/parsenbu/parsenbu.php

В начале файла пишем

 <?php
/**
 * @package parse nbu 
 * @version 1.0
 */
/*
Plugin Name: Nparse nbu 
Description: Обновление цены на сайте по курсу нбу. Это очень удобно если у вас цены в долларах .

*/

 

Сначала нам нужно зарегистрировать кнопку для нашего плагина

add_action ('admin_menu', 'dynamic_price_button');// добавляем новую кнопку в админке в меню

прикрепляем новую функцию change_price к хуку woocommerce_get_sale_price

add_filter( 'woocommerce_get_price',                      'change_price', PHP_INT_MAX - 100, 2 ); // прикрепляем новую функцию к  хуку 
 add_filter( 'woocommerce_get_sale_price',                 'change_price', PHP_INT_MAX - 100, 2 );
add_filter( 'woocommerce_get_regular_price',              'change_price', PHP_INT_MAX - 100, 2 );

add_filter( 'woocommerce_variation_prices_price',         'change_price', PHP_INT_MAX - 100, 2 );
add_filter( 'woocommerce_variation_prices_regular_price', 'change_price', PHP_INT_MAX - 100, 2 );
add_filter( 'woocommerce_variation_prices_sale_price',    'change_price', PHP_INT_MAX - 100, 2 );
add_action( 'admin_init', 'register_mysettings' );
 
Регистрируем настройку и добавляем функцию change_price

 
function register_mysettings () {
register_setting( 'baw-settings-group', 'kurs' );
register_setting( 'baw-settings-group', 'valuta' );
}

function change_price ($this) {
$int = $this;
$kurs=get_option('kurs');
if ($kurs!='') {
return $int*$kurs;
} else return $int;
}

function dynamic_price_button () {
add_submenu_page ('woocommerce', 'Курс валют по НБУ', 'Курс валют по НБУ', 'manage_options', 'dynamic_price', 'setting_page');
}

 

Добавляем функцию обработки событий настроек в плагине

Тут нам понадобится Curl для того чтобы принять json от НБУ

тут можно посмотреть Api НБУ

 

function setting_page () {
    $submit=$_POST['curssent']; // проверяем нажати ли кнопка обновить курс
if(isset($submit)) 
   {
        $url = 'https://bank.gov.ua/NBUStatService/v1/statdirectory/exchange?json';// принимаем курс валю на сегодня
        $parsenbu = curl_init($url);
        curl_setopt($parsenbu, CURLOPT_RETURNTRANSFER, true);
        $return = curl_exec($parsenbu);
        $valuenbu = json_decode($return,true);
        foreach ($valuenbu as $value) {
            if ($value["cc"]=="USD") {     // нам нужен доллар проверяем 
                $navcurs=$value["rate"];  // берем значение курса на сегодня и пишем в переменную
          }   
   
        }
        echo "<h2> Данные оновлелены Нажмите сохранить изменения</h2>";

    }
    else{
       
    }
/* ниже просто форма с настройками плагина все просто  */

?>
<div class="wrap">
<h2>Курс на сегодня</h2>
<form method="post" action="options.php">
    <?php settings_fields( 'baw-settings-group' ); ?>
    <table class="form-table">
        <tr valign="top">
        <th scope="row">Курс доллала по HБУ </th>
        <td><input type="text" name="kurs" value="<?php if(isset($submit)) { echo $navcurs;}else{echo get_option('kurs'); }?>" /> .грн</td>
        </tr> 

    </table>
    
    <p class="submit">
    <input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" />

   
    </p>

</form>
<form method="post"  action="">
    <input type="submit" name="curssent" class="button-primary" value="Обновить курс валют на сегодня" />
</form>
</div>
<?php } ?>

 


После можно глянуть в админку и проверить все ли работает. Ниже примеры работы плагина на сайте

 

 

Скачать готовое решение можно тут 

3 случайных Поста

Card image cap
Топ 5 хостингов 2018
Card image cap
Шаблон письма Contact Form 7 в переменную
Card image cap
Парсим данные из olx

коммент.

Контакти

Contact

info@pechenki.top

Начать чат со мной

© SiteBlog designer