PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 2.3.1
GiveWP – Donation Plugin and Fundraising Platform v2.3.1
4.18.0 4.17.0 4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 All 257 releases
give / templates / shortcode-donor-wall.php

shortcode-donor-wall.php in GiveWP – Donation Plugin and Fundraising Platform 2.3.1, at templates/shortcode-donor-wall.php

103 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * This template is used to display the donation grid with [donation_grid]
4 */
5
6 // Exit if accessed directly.
7 if ( ! defined( 'ABSPATH' ) ) {
8 exit;
9 }
10
11 /** @var $donor Give_Donor */
12 $donation = $args[0];
13
14 $give_settings = $args[1]; // Give settings.
15 $atts = $args[2]; // Shortcode attributes.
16 ?>
17
18 <div class="give-grid__item">
19 <div class="give-donor give-card">
20 <div class="give-donor__header">
21 <?php
22 if( true === $atts['show_avatar'] ) {
23 $has_avatar = absint( give_validate_gravatar( $donation['_give_payment_donor_email'] ) );
24 // Maybe display the Avatar.
25 echo sprintf(
26 '<div class="give-donor__image" data-donor_email="%1$s" data-has-valid-gravatar="%2$s">%3$s</div>',
27 md5( strtolower( trim( $donation['_give_payment_donor_email'] ) ) ),
28 $has_avatar,
29 defined( 'REST_REQUEST' ) && $has_avatar
30 ? get_avatar($donation['_give_payment_donor_email'])
31 : $donation['name_initial']
32 );
33 }
34 ?>
35
36 <div class="give-donor__details">
37 <?php if ( true === $atts['show_name'] ) : ?>
38 <h3 class="give-donor__name">
39 <?php $donor_name = trim( $donation['_give_donor_billing_first_name'] . ' ' . $donation['_give_donor_billing_last_name'] ); ?>
40 <?php esc_html_e( $donor_name ); ?>
41 </h3>
42 <?php endif; ?>
43
44 <?php if ( true === $atts['show_total'] ) : ?>
45 <span class="give-donor__total">
46 <?php echo give_donation_amount( $donation['donation_id'], true ); ?>
47 </span>
48 <?php endif; ?>
49
50 <?php if ( true === $atts['show_time'] ) : ?>
51 <span class="give-donor__timestamp">
52 <?php echo date_i18n( give_date_format(), strtotime( $donation['_give_completed_date'] ) ); ?>
53 </span>
54 <?php endif; ?>
55 </div>
56 </div>
57
58 <?php
59 if (
60 true === $atts['show_comments']
61 && absint( $atts['comment_length'] )
62 && ! empty( $donation['donor_comment'] )
63 ) :
64 ?>
65 <div class="give-donor__content">
66 <?php
67 $comment = trim( $donation['donor_comment'] );
68 $total_chars = strlen( $comment );
69 $max_chars = $atts['comment_length'];
70
71 // A truncated excerpt is displayed if the comment is too long.
72 if ( $max_chars < $total_chars ) {
73 $excerpt = '';
74 $offset = -( $total_chars - $max_chars );
75 $last_space = strrpos( $comment, ' ', $offset );
76
77 if ( $last_space ) {
78 // Truncate excerpt at last space before limit.
79 $excerpt = substr( $comment, 0, $last_space );
80 } else {
81 // There are no spaces, so truncate excerpt at limit.
82 $excerpt = substr( $comment, 0, $max_chars );
83 }
84
85 $excerpt = trim( $excerpt, '.!,:;' );
86
87 echo sprintf(
88 '<p class="give-donor__excerpt">%s&hellip;<span> <a class="give-donor__read-more">%s</a></span></p>',
89 nl2br( esc_html( $excerpt ) ),
90 esc_html( $atts['readmore_text'] )
91 );
92 }
93
94 echo sprintf(
95 '<p class="give-donor__comment">%s</p>',
96 nl2br( esc_html( $comment ) )
97 );
98 ?>
99 </div>
100 <?php endif; ?>
101 </div>
102 </div>
103