<?php /** * Display a widget with a link to donate to a campaign. * * Override this template by copying it to yourtheme/charitable/widgets/donate.php * * @author Studio 164a * @since 1.0.0 */ if (!defined('ABSPATH')) { exit; } // Exit if accessed directly if (!charitable_is_campaign_page() && 'current' == $view_args['campaign_id']) { return; } $widget_title = apply_filters('widget_title', $view_args['title']); $campaign_id = 'current' == $view_args['campaign_id'] ? get_the_ID() : $view_args['campaign_id']; $campaign = charitable_get_campaign($campaign_id); if ($campaign->has_ended()) { return; } $suggested_donations = $campaign->get_suggested_donations(); if (empty($suggested_donations) && !$campaign->get('allow_custom_donations')) { return; } echo $view_args['before_widget']; if (!empty($widget_title)) { echo $view_args['before_title'] . $widget_title . $view_args['after_title']; }
/** * If we are viewing a single campaign page, add a class to the body for the style of donation form. * * @param string[] $classes * @return string[] * @access public * @since 1.0.0 */ public function add_body_classes($classes) { if (charitable_is_campaign_page()) { $campaign = new Charitable_Campaign(get_the_ID()); if ($campaign->has_ended()) { $classes[] = 'campaign-ended'; } else { $classes[] = 'donation-form-display-' . charitable_get_option('donation_form_display', 'separate_page'); } } return $classes; }