Zobrazení dárců z Darujme.cz přes API

Nadační fond Zdraví v dětských domovech mě požádal o vytvoření pluginu na zobrazení dárců z portálu darujme.cz. Kód, který vznikl během 10 minut, je velmi jednoduchý a dělá přesně to, co je potřeba, tedy zobrazí dárce z darujme.cz pomocí shortcodu:

<?php
/**
 * Darujme.cz pledges
 * Plugin Name:  Darujme.cz pledges
 * Description:  Darujme.cz pledges
 * Version:      1.0
 * Plugin URI:   https://vaclavgreif.cz/
 * Author:       Václav Greif
 * Author URI:   https://vaclavgreif.cz/
 */

add_shortcode( 'darujme_cz_pledges', 'darujme_cz_render_pledges' );
function darujme_cz_render_pledges() {
	ob_start();
	$pledges = darujme_cz_get_pledges();
	if ( ! empty( $pledges ) ) { ?>
        <table>
            <thead>
            <tr>
                <th>Datum</th>
                <th>Jméno a příjmení</th>
                <th>Částka</th>
            </tr>
            </thead>
            <tbody>
			<?php foreach ( $pledges->pledges as $pledge ) { ?>
                <tr>
                    <td><?php echo date( 'd.m.Y', strtotime( $pledge->pledgedAt ) ); ?></td>
                    <td><?php echo sprintf( '%s %s', $pledge->donor->firstName, $pledge->donor->lastName ); ?></td>
                    <td><?php echo sprintf( '%s %s', $pledge->pledgedAmount->cents / 100, $pledge->pledgedAmount->currency ); ?></td>
                </tr>
			<?php } ?>
            </tbody>
        </table>
	<?php }

	return ob_get_clean();
}

function darujme_cz_get_pledges() {
	return json_decode( wp_remote_retrieve_body( wp_remote_get( 'https://www.darujme.cz/api/v1/organization/1200939/pledges-by-filter?apiId=74234141&apiSecret=123456' ) ) );
}

Napojení by samozřejmě šlo udělat výrazně sofistikovaněji, přidat cachování, stránkování, filtrování atd. Pokud potřebujete vytvořit plugin nebo API integraci pro WordPress, neváhejte se na mě obrátit

Přidat komentář