• Resolved fastfox

    (@fastfox)


    Multiple issues with Campaigns:
    1. Duplicating a campaign does not work properly. Tried a few times, interestingly got different results, none of them correct.

    a. One campaign copy cannot be accessed, as trying to get to Edit page causes an exception below (the campaign I was duplicating has a goal, so not sure what the problem is). Campaigns cannot be deleted (Need that functionality!). I tried merging the bad campaign copy with the original campaign, now I cannot access the original campaign either. Good thing this is a staging site, otherwise this would’ve been bad.


    An error of type E_ERROR was caused in line 202 of the file /home/username/public_html/staging.sitename.com/wp-content/plugins/give/src/DonationForms/V2/DataTransferObjects/DonationFormQueryData.php. Error message: Uncaught TypeError: Give\DonationForms\V2\DataTransferObjects\DonationFormQueryData::convertGoalType(): Argument #1 ($type) must be of type string, null given, called in /home/username/public_html/staging.sitename.com/wp-content/plugins/give/src/DonationForms/V2/DataTransferObjects/DonationFormQueryData.php on line 193 and defined in /home/username/public_html/staging.sitename.com/wp-content/plugins/give/src/DonationForms/V2/DataTransferObjects/DonationFormQueryData.php:202
    Stack trace:
    #0 /home/username/public_html/staging.sitename.com/wp-content/plugins/give/src/DonationForms/V2/DataTransferObjects/DonationFormQueryData.php(193): Give\DonationForms\V2\DataTransferObjects\DonationFormQueryData->convertGoalType(NULL, false)
    #1 /home/username/public_html/staging.sitename.com/wp-content/plugins/give/src/DonationForms/V2/DataTransferObjects/DonationFormQueryData.php(103): Give\DonationForms\V2\DataTransferObjects\DonationFormQueryData->getGoalSettings(Object(stdClass))
    #2 /home/username/public_html/staging.sitename.com/wp-content/plugins/give/src/DonationForms/V2/Models/DonationForm.php(95): Give\DonationForms\V2\DataTransferObjects\DonationFormQueryData::fromObject(Object(stdClass))
    #3 /home/username/public_html/staging.sitename.com/wp-content/plugins/give/src/Framework/Models/ModelQueryBuilder.php(152): Give\DonationForms\V2\Models\DonationForm::fromQueryBuilderObject(Object(stdClass))
    #4 [internal function]: Give\Framework\Models\ModelQueryBuilder::Give\Framework\Models\{closure}(Object(stdClass))
    #5 /home/username/public_html/staging.sitename.com/wp-content/plugins/give/src/Framework/Models/ModelQueryBuilder.php(151): array_map(Object(Closure), Array)
    #6 /home/username/public_html/staging.sitename.com/wp-content/plugins/give/src/Framework/Models/ModelQueryBuilder.php(107): Give\Framework\Models\ModelQueryBuilder->getAllAsModel(Array)
    #7 /home/username/public_html/staging.sitename.com/wp-content/plugins/give/src/DonationForms/V2/Endpoints/ListDonationForms.php(222): Give\Framework\Models\ModelQueryBuilder->getAll()
    #8 /home/username/public_html/staging.sitename.com/wp-content/plugins/give/src/DonationForms/V2/Endpoints/ListDonationForms.php(144): Give\DonationForms\V2\Endpoints\ListDonationForms->getForms()
    #9 /home/username/public_html/staging.sitename.com/wp-includes/rest-api/class-wp-rest-server.php(1292): Give\DonationForms\V2\Endpoints\ListDonationForms->handleRequest(Object(WP_REST_Request))
    #10 /home/username/public_html/staging.sitename.com/wp-includes/rest-api/class-wp-rest-server.php(1125): WP_REST_Server->respond_to_request(Object(WP_REST_Request), '/give-api/v2/ad...', Array, NULL)
    #11 /home/username/public_html/staging.sitename.com/wp-includes/rest-api.php(586): WP_REST_Server->dispatch(Object(WP_REST_Request))
    #12 /home/username/public_html/staging.sitename.com/wp-content/plugins/give/src/DonationForms/V2/DonationFormsAdminPage.php(212): rest_do_request(Object(WP_REST_Request))
    #13 /home/username/public_html/staging.sitename.com/wp-content/plugins/give/src/DonationForms/V2/DonationFormsAdminPage.php(114): Give\DonationForms\V2\DonationFormsAdminPage->preloadDonationForms()
    #14 [internal function]: Give\DonationForms\V2\DonationFormsAdminPage->loadScripts('give_forms_page...')
    #15 /home/username/public_html/staging.sitename.com/wp-content/plugins/give/src/Helpers/Hooks.php(43): call_user_func_array(Array, Array)
    #16 /home/username/public_html/staging.sitename.com/wp-includes/class-wp-hook.php(324): Give\Helpers\Hooks::Give\Helpers\{closure}('give_forms_page...')
    #17 /home/username/public_html/staging.sitename.com/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
    #18 /home/username/public_html/staging.sitename.com/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
    #19 /home/username/public_html/staging.sitename.com/wp-admin/admin-header.php(123): do_action('admin_enqueue_s...', 'give_forms_page...')
    #20 /home/username/public_html/staging.sitename.com/wp-admin/admin.php(240): require_once('/home/username/pub...')
    #21 /home/username/public_html/staging.sitename.com/wp-admin/edit.php(10): require_once('/home/username/pub...')
    #22 {main}
    thrown

    b. Another campaign that I tried to duplicate was cloned ok, but the single form in the campaign was cloned 5 times (1 published and 4 drafts)

    2. Bug: The campaign filtering dropdown has “zombie campaigns”. It seems, during GiveWP upgrade campaigns were created for all the deleted forms that I had. Those campaigns are not visible in the campaigns list, but they are visible in the drop down for filtering donations by campaign.

    3. FeatureRequest: When viewing donations, you can only filter by Campaign. (Please add ability to filter donations in the list by form!) Also, only campaigns, not forms are displayed in the donation table. Reports and exporting donations, on the other hand, do not have campaign information or filtering by campaign.

    4. You need to be able to move forms across campaigns. One use case is to create an “archive” campaign, where you can move forms to.

    5. Campaign Pages do not work properly with Elementor

    4. FeatureRequest: Would be great to be able to embed campaign pages into other pages. Use case: Our programs page, where all programs/campaigns are listed.

    5. I’m not sure I understand the point of having a campaign page with only a default form visible. It’s like a slightly fancier donation form, with recent donors wall. If campaigns are meant to have multiple forms, wouldn’t it make sense to be able to display multiple forms (or have a form drop-down) on the campaign page?

Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Support Robin Joshua Del Mundo

    (@robindelmundo)

    Hi @fastfox ,

    Good Day! Thanks for writing in.

    I’ll go through each of your points one by one below.

    Issues in Duplicating a Campaign
    I haven’t been able to replicate both of these, as illustrated by my test here — https://www.loom.com/share/14d0803e29634f53a5d50ee1c05fd255?sid=68db2105-b023-4db1-a54c-3ac1b03b82ab. It is important to note, however, that when you duplicate a campaign with multiple forms, only the default form is published, and the rest of the forms will be in draft. This is expected behavior, as the default form of a campaign cannot be in draft. This is to ensure that a published campaign must always have a form.

    Zombie Campaigns on the Donations Filter
    I’ve investigated this, and I was able to replicate it. This is the bug report that I wrote for our developers to correct: https://givewp.featureos.app/p/trashed-forms-prior-to-updating-to-4-x-x-should-not-appear-in-the-filter-for-the-donations.

    I don’t have a timeline for it, but I’ve added this ticket into the bug report. You can use the link to check in for updates or provide details of your own.

    Filter donations by form and Move a Form Across Campaigns
    Currently, neither of these are features that we have. However, there are feature requests for what you’re asking about, and you can view them at the following links:

    Filter Donations by Form: https://givewp.featureos.app/p/filter-donations-by-form-on-the-new-view
    Ability to move a donation form to another campaign: https://givewp.featureos.app/p/requesting-the-ability-to-move-a-donation-form-to-another-campaign

    We are actively tracking user feedback to understand further the needs you all have. You can use the links to check in for updates or to provide additional details of your own. I would encourage you to comment on those posts about the impact this would have on your organization. Information like that is always helpful for our teams to see. I’ve also linked your ticket internally, so if this feature request is developed, we can reach out to update you.

    Give the posts above a look, and let me know if there are any additional details you would like me to add. I want to ensure your need is as accurately reflected as possible, and I’m happy to include an internal note to our teams with any specific information you would like them to have.

    That said, there are workarounds for both of them as well. You can still filter donations by form when you go to the legacy view—https://share.zight.com/P8uzL6eo. There will be a dropdown where you can choose a form. Subsequently, after clicking on the “Apply” button, the donations will be filtered according to the form — https://share.zight.com/qGu8krNQ.

    To move donations across campaigns, you can duplicate the campaigns that you want and then merge them. Thereafter, delete all the other forms that you don’t need on that campaign.

    Campaign Pages Not Working Properly with Elementor
    For this one, can you elaborate more on the difficulties that you’re facing when using Elementor with Campaigns? Once I get more context, I may be able to write up a bug report if I’m able to replicate it on a test site and guide you on a workaround as well.

    Embed a Campaign on a Page
    You should be able to use the Campaign Form Block in here. Since you mentioned that you’re using Elementor, you will have to use a shortcode for this one. You can use the [givewp_campaign_form] shortcode in here.

    We’re still updating our documentation for this one, but you can refer to this pull request for some guidance in using this shortcode – https://github.com/impress-org/givewp/pull/7887. As an example, you can use the shortcode with the campaign’s ID and the form ID, along with the display style and text that appears on the button: [givewp_campaign_form id="252" campaign_id="37" display_style='modal' button_text='Donate now'].

    Campaigns Can Only Display One Form
    The default form is the main form to funnel all of your donations into that campaign. While you can have other forms to include in your campaign, the main idea was that you can still collect donations using the other forms by embedding them elsewhere on your website and then view all of that data coming in on one location.

    When we developed campaigns, it was meant to make it easier for new/non-technical users to start fundraising. We wanted to package existing capabilities into an easier experience for beginners. It makes it easier to track and manage all your fundraising efforts in one dashboard. The customizable campaign pages can also help in telling your story and rallying support.

    That said, we’re very much open to feedback, and we hear you on the points you raised. I also created a feature request for displaying multiple forms on the campaign page in here — https://givewp.featureos.app/admin/p/display-multiple-forms-on-the-campaign-page.

    Our feedback site is designed to be the single source for all updates on particular issues. If any movement has happened, it will be displayed there for both the public and our team internally. If you have additional inquiries or issues, please don’t hesitate to share them in here.

    Meanwhile, I’m here for any further questions.

    I’m always happy to help!

    Plugin Support Robin Joshua Del Mundo

    (@robindelmundo)

    Hi @fastfox ,

    It’s been a while since we’ve heard back, and I know troubleshooting on some of the other issues you raised need a little extra time. I’m marking this as resolved for now, but if you still have questions, you can send them along right here, and I’ll be happy to hop back in.

    Have a great day!

Viewing 2 replies - 1 through 2 (of 2 total)

The topic ‘Campaign issues’ is closed to new replies.