Dans la deuxième et dernière partie de cette mini-série, « Collecter des dons avec WordPress », vous apprendrez à écrire un plugin WordPress permettant aux utilisateurs de vous envoyer des dons via Bitcoin.
Le plugin utilise son propre panneau de paramètres backend et est hautement personnalisable.
Alors, commençons !
Un nouveau dossier dans wp-content/plugins
目录中,创建一个名为 donate-bitcoins
pour votre site Web.
Maintenant, créez un fichier appelé donate-bitcoins.php
dans ce dossier.
Enfin, vous devez ajouter les informations d’en-tête du plugin, qui indiqueront à WordPress que votre nouveau plugin existe réellement sur votre serveur. Vous pouvez modifier ces détails comme vous le souhaitez, mais ils doivent généralement être dans cet ordre et contenir un minimum d'informations.
<?php /* Plugin Name: Bitcoin Donate Plugin URI: https://code.tutsplus.com Description: Simple Bitcoin donation plugin. Version: 1.0.0 Author: Sam Berson Author URI: http://www.samberson.com/ */
Vous verrez maintenant votre nouveau plugin affiché dans la page Plugins de votre administrateur WordPress. Allez-y et activez le plugin , même si vous ne verrez pas encore grand-chose se passer.
Ajouter un shortcodeDans ce plugin, le shortcode est
qui peut être ajouté n'importe où dans votre publication ou votre page. [donate]
et y définir le shortcode (dans ce cas "Faire un don"), puis vous définirez certaines informations sur les options. Puisque nous produirons du HTML, nous devons commencer à suivre la sortie. Vous devez également fermer les crochets PHP avant la section suivante. add_shortcode
function bitcoin_donate_shortcode() { $donate_options = get_option( 'bitcoin_donate_options' ); $address = $donate_options['bitcoin_address']; $counter = $donate_options['bitcoin_counter']; ob_start(); ?>
<script src="http://coinwidget.com/widget/coin.js"></script> <script> CoinWidgetCom.go({ wallet_address: '<?php echo $address; ?>', currency: 'bitcoin', counter: '<?php echo $counter; ?>', alignment: 'bl', qrcode: true, auto_show: false, lbl_button: '<?php _e( 'Donate', 'bitcoin_donate' ) ?>', lbl_address: '<?php _e( 'My Bitcoin Address:', 'bitcoin_donate' ) ?>', lbl_count: 'donations', lbl_amount: 'BTC' }); </script> <?php return ob_get_clean(); }
Paramètres, qui vous permettra de configurer les informations de votre portefeuille Bitcoin.
Étape 1. bitcoin_donate_wallet_address()
的新函数,并使用 get_option()
function bitcoin_donate_wallet_address() { $options = get_option( 'bitcoin_donate_options' ); echo "<input name='bitcoin_donate_options[bitcoin_address]' type='text' value='{$options['bitcoin_address']}'/>"; }
qui définit une option déroulante dans le panneau des paramètres qui vous permet de définir quels boutons de dons numériques sont affichés à côté de : « Nombre de transactions », « Montant reçu » ou « Masquer ». bitcoin_donate_counter()
function bitcoin_donate_counter() { $options = get_option( 'bitcoin_donate_options' ); ?> <p> <label> <input type='radio' name='bitcoin_donate_options[bitcoin_counter]' value="count" <?php checked( $options['bitcoin_counter'], 'count', true ); ?> /> <?php _e( 'Transaction Count', 'bitcoin_donate' ) ?> </label> </p> <p> <label> <input type='radio' name='bitcoin_donate_options[bitcoin_counter]' value= "amount" <?php checked( $options['bitcoin_counter'], 'amount', true ); ?> /> <?php _e( 'Amount Received', 'bitcoin_donate' ) ?> </label> </p> <p> <label> <input type='radio' name='bitcoin_donate_options[bitcoin_counter]' value= "hide" <?php checked( $options['bitcoin_counter'], 'hide', true ); ?> /> <?php _e( 'Hidden', 'bitcoin_donate' ) ?> </label> </p> <?php }
function bitcoin_donate_callback() { // Optional Callback. }
Étape 1
function bitcoin_donate_register_settings_and_fields() { register_setting( 'bitcoin_donate_options', 'bitcoin_donate_options' ); add_settings_section( 'bitcoin_donate_settings_section', __( 'Main Settings', 'bitcoin_donate' ), 'bitcoin_donate_callback', __FILE__ ); add_settings_field( 'bitcoin_address', __( 'Bitcoin Address:', 'bitcoin_donate' ), 'bitcoin_donate_wallet_address', __FILE__, 'bitcoin_donate_settings_section' ); add_settings_field( 'bitcoin_counter', __( 'What should the counter show?', 'bitcoin_donate' ), 'bitcoin_donate_counter', __FILE__, 'bitcoin_donate_settings_section' ); } add_action( 'admin_init', 'bitcoin_donate_register_settings_and_fields' );
function bitcoin_donate_options_markup() { ?> <div class="wrap"> <h2><?php _e( 'Bitcoin Donate Options', 'bitcoin_donate' ) ?></h2> <form method="post" action="options.php" enctype="multipart/form-data"> <?php settings_fields( 'bitcoin_donate_options' ); do_settings_sections( __FILE__ ); ?> <p class="submit"> <input type="submit" class="button-primary" name="submit" value="<?php _e( 'Save Changes', 'bitcoin_donate' ) ?>"> </p> </form> </div> <?php }
function bitcoin_donate_initialize_options() { add_options_page( __( 'Bitcoin Donate Options', 'bitcoin_donate' ), __( 'Bitcoin Donate Options', 'bitcoin_donate' ), 'administrator', __FILE__, 'bitcoin_donate_options_markup' ); } add_action( 'admin_menu', 'bitcoin_donate_initialize_options' );
à votre article ou page, votre plugin devrait maintenant fonctionner correctement ! Voici le code source complet du plugin : [donate]
Copier après la connexion
Si vous avez des questions, n'hésitez pas à laisser un message ci-dessous et je vous aiderai certainement !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!