|

Cours du Bitcoin dans WordPress

Voir mise à jour plus bas


Il existe plusieurs façons d’afficher les informations sur le cours du Bitcoin sur un site WordPress. Voici un exemple de code qu’on va utiliser pour créer un plugin qui affiche les informations sur le cours du Bitcoin à l’aide de l’API de CoinDesk :

<?php
/*
Plugin Name: Cours Bitcoin
Description: Affiche les informations sur le cours Bitcoin
*/

function bitcoin_course_shortcode() {
    $json = file_get_contents('https://api.coindesk.com/v1/bpi/currentprice.json');
    $data = json_decode($json, true);
    $rate = $data['bpi']['USD']['rate'];
    $time = date('H:i:s');
    $date = date('Y-m-d');


    return '<div>BTC $' . $rate .' @ '.$time.' '.$date.'</div>';
}
add_shortcode('bitcoin_course', 'bitcoin_course_shortcode');

Pour ajouter le fichier PHP à un site WordPress, on doit suivre les étape suivante:

  1. On se connecte à notre site WordPress avec un client FTP ou en ligne de commande SSH.
  2. On va dans le dossier qui contienne le ou les sites WordPress. Habituellement c’est le dossier /var/www/html/NomDuSite
  3. On va dans le dossier des plugin /var/www/html/NomDuSite/wp-content/plugins/
  4. On va créer un nouveau dossier. En ligne de commande on utlise la commande
    sudo mkdir cours-bitcoin . Le nom de ce dossier deviendra le nom du plugin dans WordPress.
  5. On va créer un fichier PHP avec la commande sudo nano cours-bitcoin.php.
  6. On copie le code ci-dessus puis on enregistre avec “Ctrl” + “x” , “y” , “Entrer”.
  7. On se connecte à notre site WordPress en tant qu’administrateur.
  8. Dans le menu de l’administration de WordPress, on clique sur « Extensions » ou « Plugin » et on active le plugin « Cours Bitcoin »

Après ces étapes, le plugin devrait être installé sur le site WordPress et prêt à être utiliser. Pour utiliser le plugin, on place le shortcode ‘

Chargement...
‘ dans les pages ou articles ou on veut afficher le cours.

Si le plugin est installer sur le site, comme celui-ci, dès que WordPress le reconnait, il affiche le cours du BitCoin 😉

Avant de faire cette modification, on fais une sauvegarde du site et on vérifie que le plugin ne cause pas de problème. Si on rencontre des erreurs ou des problèmes de compatibilité, on peut consulter les fichiers de journalisation d’erreur de WordPress pour plus d’informations.

Il est aussi possible de téléverser ou UpLodé le fichier de Plugin sous forme d’archive Zip.

  1. On se connecte au tableau de bord WordPress et on clique sur « Extensions » ou « Plugin », puis « Ajouter » dans le menu latéral.
  2. On clique sur « Téléverser une extension », on sélectionne le fichier zip avec le Plugin.
  3. WordPress installera et demandera d’activer le plugin.

Ci-dessous le plugin dans un fichier Zip.



🔄 Nouveautés & Améliorations

Cette mise à jour corrige le problème de CORS qui empêchait l’affichage du prix en raison des restrictions de l’API CoinMarketCap. Désormais, les données sont récupérées côté serveur via PHP, garantissant une meilleure stabilité et sécurité.

🆕 Fonctionnalités ajoutées

Correction du problème CORS en utilisant un appel AJAX vers WordPress.
Affichage dynamique avec mise à jour toutes les 10 secondes.
Ajout d’une flèche 🔺🔻 pour indiquer l’évolution du prix en temps réel.
Code optimisé et sécurisé pour éviter les erreurs d’affichage.


📌 Nouveau Code (v1.4)

Ajoutez ce fichier cours-bitcoin.php dans votre dossier /wp-content/plugins/cours-bitcoin/ :

<?php
/*
Plugin Name: Cours Bitcoin Live
Plugin URI: https://ton-site.com
Description: Affiche le cours du Bitcoin en temps réel avec mise à jour automatique via CoinMarketCap.
Version: 1.4
Author: Ton Nom
*/

// Clé API CoinMarketCap (remplace par ta clé)
define('COINMARKETCAP_API_KEY', 'TA_CLE_ICI');

// Fonction pour récupérer le cours du Bitcoin côté serveur
function get_bitcoin_price() {
    $url = 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=BTC&convert=USD';
    $headers = [
        'X-CMC_PRO_API_KEY: ' . COINMARKETCAP_API_KEY,
        'Accepts: application/json',
    ];

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $response = curl_exec($ch);
    curl_close($ch);

    if ($response) {
        $data = json_decode($response, true);
        return $data['data']['BTC']['quote']['USD']['price'] ?? null;
    }
    return null;
}

// Fonction AJAX pour récupérer les données côté client
function bitcoin_course_ajax() {
    $price = get_bitcoin_price();
    if ($price) {
        echo json_encode(['price' => number_format($price, 2, '.', '')]);
    } else {
        echo json_encode(['error' => 'Impossible de récupérer le prix.']);
    }
    wp_die();
}
add_action('wp_ajax_get_bitcoin_price', 'bitcoin_course_ajax');
add_action('wp_ajax_nopriv_get_bitcoin_price', 'bitcoin_course_ajax');

// Ajout du script JavaScript
function bitcoin_course_add_script() {
    ?>
    <script>
        document.addEventListener("DOMContentLoaded", function() {
            let previousRate = null;

            async function fetchBitcoinPrice() {
                try {
                    let response = await fetch('<?php echo admin_url('admin-ajax.php?action=get_bitcoin_price'); ?>');
                    let data = await response.json();
                    
                    if (data.error) throw new Error(data.error);

                    let rate = parseFloat(data.price);
                    let time = new Date().toLocaleTimeString();
                    let date = new Date().toLocaleDateString();

                    let arrow = "";
                    if (previousRate !== null) {
                        arrow = rate < previousRate ? " 🔻" : " 🔺";
                    }

                    document.querySelector("#bitcoin_course").innerHTML = `BTC $${rate.toFixed(2)} ${arrow} @ ${time} ${date}`;
                    previousRate = rate;

                } catch (error) {
                    console.error("Erreur :", error);
                    document.querySelector("#bitcoin_course").innerHTML = "Erreur de chargement.";
                }
            }

            fetchBitcoinPrice();
            setInterval(fetchBitcoinPrice, 10000);
        });
    </script>
    <?php
}
add_action('wp_footer', 'bitcoin_course_add_script');

// Shortcode pour afficher le prix
function bitcoin_course_shortcode() {
    return '<div id="bitcoin_course">Chargement...</div>';
}
add_shortcode('bitcoin_course', 'bitcoin_course_shortcode');

📌 Installation & Mise à Jour

  1. Ajoutez votre clé API CoinMarketCap dans le fichier PHP (define('COINMARKETCAP_API_KEY', 'TA_CLE_ICI');).
  2. Remplacez l’ancien fichier par le nouveau dans /wp-content/plugins/cours-bitcoin/.
  3. Activez ou réactivez le plugin depuis l’administration WordPress.
  4. Ajoutez
    Chargement...
    dans vos articles ou pages pour afficher le cours du Bitcoin.

mes sources: https://chat.openai.com

Laisser un commentaire