Esempio n. 1
0
<?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;
 }