'id' => $this->generateElementorId(), 'elType' => 'widget', 'widgetType' => give(ElementorCampaignStatsWidget::class)->get_name(), 'settings' => [ 'campaign_id' => $campaignId, 'statistic' => 'top-donation' ] ], [ 'id' => $this->generateElementorId(), 'elType' => 'widget', 'widgetType' => give(ElementorCampaignStatsWidget::class)->get_name(), 'settings' => [ 'campaign_id' => $campaignId, 'statistic' => 'average-donation' ] ], // Donate Button [ 'id' => $this->generateElementorId(), 'elType' => 'widget', 'widgetType' => give(ElementorDonationFormWidget::class)->get_name(), 'settings' => [ 'form_id' => $campaignDefaultFormId, 'display_style' => 'modal' ] ] ] ] ] ], // Description Section [ 'id' => $this->generateElementorId(), 'elType' => 'section', 'settings' => [ 'layout' => 'boxed', 'margin' => [ 'unit' => 'px', 'top' => '40', 'bottom' => '40' ] ], 'elements' => [ [ 'id' => $this->generateElementorId(), 'elType' => 'column', 'settings' => [ '_column_size' => 100 ], 'elements' => [ [ 'id' => $this->generateElementorId(), 'elType' => 'widget', 'widgetType' => 'text-editor', 'settings' => [ 'editor' => $shortDescription ?: '' ] ] ] ] ] ], // Donations Section [ 'id' => $this->generateElementorId(), 'elType' => 'section', 'settings' => [ 'layout' => 'boxed', 'margin' => [ 'unit' => 'px', 'bottom' => '40' ] ], 'elements' => [ [ 'id' => $this->generateElementorId(), 'elType' => 'column', 'settings' => [ '_column_size' => 100 ], 'elements' => [ [ 'id' => $this->generateElementorId(), 'elType' => 'widget', 'widgetType' => give(ElementorCampaignDonationsWidget::class)->get_name(), 'settings' => [ 'campaign_id' => $campaignId, 'show_anonymous' => 'yes', 'show_icon' => 'yes', 'show_button' => 'yes', 'donate_button_text' => 'Donate', 'sort_by' => 'recent-donations', 'donations_per_page' => 5, 'load_more_button_text' => 'Load more' ] ] ] ] ] ], // Donors Section [ 'id' => $this->generateElementorId(), 'elType' => 'section', 'settings' => [ 'layout' => 'boxed' ], 'elements' => [ [ 'id' => $this->generateElementorId(), 'elType' => 'column', 'settings' => [ '_column_size' => 100 ], 'elements' => [ [ 'id' => $this->generateElementorId(), 'elType' => 'widget', 'widgetType' => give(ElementorCampaignDonorsWidget::class)->get_name(), 'settings' => [ 'campaign_id' => $campaignId, 'show_anonymous' => 'yes', 'show_company_name' => 'yes', 'show_avatar' => 'yes', 'show_button' => 'yes', 'donate_button_text' => 'Join the list', 'sort_by' => 'top-donors', 'donors_per_page' => 5, 'load_more_button_text' => 'Load more' ] ] ] ] ] ] ]; } /** * Generate a random Elementor-style ID * * @since 4.7.0 */ private function generateElementorId(): string { return substr(md5(uniqid('', true)), 0, 7); } }