BUG: Fundraising project requires a time

When creating a fundraiser and using the widget it requires to input start and end times or does not work. Not every fundraiser requires times, some are ongoing. Please update me when this is fixed so I can correct my fundraisers (instead of just setting an end time for 2040 and using "display: none" in the CSS of the widgets).

  • Vaughan

    Hi us-Sunnah

    Hope you're well?

    This is not a bug, this is how crowdfunding works, they have end times to achieve their goals by.

    If you wish to have a neverending fundraiser, you should use the simple donations option instead.

    I could possibly add this to the feature requests though to see if the developers could add an option to allow neverending crowd funding pledges. But at this time,it isn't possible without modifying the plugin code, and also it might be a reason for requiring a date with the gateway provider too.

    Hope this helps

  • Emanaku

    Hi Vaughan,
    I have the same problem: I want Goals in "Simple Donation Mode" without end date (the fundraiser gets closed when the money goal is fulfilled, may it take a week or 5 months - a truly common case).
    That does not work in Fundraising - even not in "Simple Donation Mode".
    The reason for this is:
    in the php file lib/template-functions.php
    in function wdf_fundraiser_panel the software determines if the fundraiser is active (around line 90) by calling the function wdf_time_left:

    $fundraising_active = wdf_time_left(false, $post_id, true);

    But wdf_time_left returns false, if there is no end time in the fundraiser. It does not check, if the fundraiser is of type crowdfunding or not.
    The consequence is that in the panel for the fundraiser no button for making pledges appears. So no donations for a fundraiser without end date possible!
    I think this is just wrong.
    Because the function wdf_time_left cannot be fixed to work under all circumstances right, the program should be changed at the location, where it is called. I did it like this:

    $start = get_post_meta($post_id,'wdf_goal_start',true);
    $end = get_post_meta($post_id,'wdf_goal_end',true);
    $fundraising_active = wdf_time_left(false, $post_id, true) || ($start != false && $end == false);

    That works for my cases (we do not have crowdfunding).
    The developer can surely make this more elegant :wink:

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.