PluginProbe
Charitable – Donation & Fundraising Platform (Donation Forms, Recurring Donations & Fundraising Campaigns) / 1.8.13
Charitable – Donation & Fundraising Platform (Donation Forms, Recurring Donations & Fundraising Campaigns) v1.8.13
1.8.13 1.8.12.3 1.8.12.2 1.8.12.1 1.8.12 1.8.11.3 1.8.11.2 1.8.11.1 1.8.11 1.6.6 1.6.60 1.6.7 1.6.8 1.6.9 1.7.0 1.7.0.1 1.7.0.11 1.7.0.12 1.7.0.14 1.7.0.2 1.7.0.3 1.7.0.5 1.7.0.6 1.7.0.7 1.7.0.9 All 211 releases
← All changes | templates/donor-loop.php +65 -25 1.6.8 → 1.8.13 View file →
@@ -4,15 +4,18 @@
4 4 *
5 5 * Override this template by copying it to yourtheme/charitable/donor-loop.php
6 6 *
7 7 * @package Charitable/Templates/Donor
8 - * @author Studio 164a
8 + * @author WP Charitable LLC
9 9 * @since 1.5.0
10 - * @version 1.5.0
10 + * @version 1.8.0
11 + * @version 1.8.8.6
11 12 */
12 13
13 14 // Exit if accessed directly.
14 -if ( ! defined( 'ABSPATH' ) ) { exit; }
15 +if ( ! defined( 'ABSPATH' ) ) {
16 + exit;
17 +}
15 18
16 19 /* Donors have to be included in the view args. */
17 20 if ( ! array_key_exists( 'donors', $view_args ) ) {
18 21 return;
@@ -17,46 +20,83 @@
17 20 if ( ! array_key_exists( 'donors', $view_args ) ) {
18 21 return;
19 22 }
20 23
21 -$donors = $view_args['donors'];
22 -$args = $view_args;
23 -$campaign_id = $view_args['campaign'];
24 +$charitable_donors = $view_args['donors'];
25 +$charitable_args = $view_args;
26 +$charitable_campaign_id = $view_args['campaign'];
27 +$charitable_hide_if_no_donors = array_key_exists( 'hide_if_no_donors', $view_args ) && $view_args['hide_if_no_donors'];
24 28
25 -if ( ! charitable_is_campaign_page() && 'current' === $campaign_id ) {
29 +if ( ! charitable_is_campaign_page() && 'current' === $charitable_campaign_id ) {
26 30 return;
27 31 }
28 32
29 -if ( 'all' == $campaign_id ) {
30 - $args['campaign'] = false;
31 -} elseif ( 'current' == $campaign_id ) {
32 - $args['campaign'] = get_the_ID();
33 +if ( ! $charitable_donors->count() && $charitable_hide_if_no_donors ) {
34 + return;
33 35 }
34 36
35 -$orientation = array_key_exists( 'orientation', $view_args ) ? $view_args['orientation'] : 'vertical';
36 -$style = '';
37 +if ( 'all' == $charitable_campaign_id ) {
38 + $charitable_args['campaign'] = false;
39 +} elseif ( 'current' == $charitable_campaign_id ) {
40 + $charitable_args['campaign'] = get_the_ID();
41 +}
37 42
38 -if ( 'horizontal' == $orientation ) {
39 - $width = array_key_exists( 'width', $view_args ) ? $view_args['width'] : get_option( 'thumbnail_size_w', 100 );
40 - if ( 100 != $width ) {
41 - $style = '<style>.donors-list.donors-list-horizontal .donor{ width:' . $width . 'px; }</style>';
43 +$charitable_orientation = array_key_exists( 'orientation', $view_args ) ? $view_args['orientation'] : 'vertical';
44 +$charitable_style = '';
45 +
46 +if ( 'horizontal' == $charitable_orientation ) {
47 + $charitable_width = array_key_exists( 'width', $view_args ) ? $view_args['width'] : get_option( 'thumbnail_size_w', 100 );
48 + if ( 100 !== $charitable_width ) {
49 + $charitable_style = '<style>.donors-list.donors-list-horizontal .donor{ width:' . intval( $charitable_width ) . 'px; }</style>';
42 50 }
43 51 }
44 52
45 -if ( $donors->count() ) :
46 - echo $style;
53 +/**
54 + * Add something before the donors loop logic.
55 + *
56 + * @since 1.8.1.12
57 + *
58 + * @param mixed $campaign_id The campaign ID.
59 + * @param array $args Loop args.
60 + */
61 +do_action( 'charitable_donor_list_before', $charitable_campaign_id, $charitable_args );
62 +
63 +if ( $charitable_donors->count() ) :
64 + echo $charitable_style; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
65 +
66 + /**
67 + * Add something before the donors loop.
68 + *
69 + * @since 1.8.1.12
70 + *
71 + * @param array $donors The donors.
72 + * @param mixed $campaign_id The campaign ID.
73 + * @param array $args Loop args.
74 + */
75 + do_action( 'charitable_donor_list_loop_before', $charitable_donors, $charitable_campaign_id, $charitable_args );
76 +
47 77 ?>
48 - <ol class="donors-list donors-list-<?php echo $orientation; ?>">
78 + <ol class="donors-list donors-list-<?php echo esc_attr( $charitable_orientation ); ?>">
49 79 <?php
50 - foreach ( $donors as $donor ) :
80 + foreach ( $charitable_donors as $charitable_donor ) :
51 81
52 - $args['donor'] = $donor;
82 + $charitable_args['donor'] = $charitable_donor;
53 83
54 - charitable_template( 'donor-loop/donor.php', $args );
84 + charitable_template( 'donor-loop/donor.php', $charitable_args );
55 85
56 86 endforeach;
57 87 ?>
58 88 </ol>
59 89 <?php else : ?>
60 - <p><?php _e( 'No donors yet. Be the first!', 'charitable' ); ?></p>
61 -<?php
90 + <p><?php echo esc_html__( 'No donors yet. Be the first!', 'charitable' ); ?></p>
91 + <?php
62 92 endif;
93 +
94 +/**
95 + * Add something before the donors loop logic.
96 + *
97 + * @since 1.8.1.12
98 + *
99 + * @param mixed $campaign_id The campaign ID.
100 + * @param array $args Loop args.
101 + */
102 +do_action( 'charitable_donor_list_after', $charitable_campaign_id, $charitable_args );