# give/4.16.9/src/Campaigns/Actions/CreateCampaignPage.php

GiveWP – Donation Plugin and Fundraising Platform, version 4.16.9. 36 lines.

- Page: https://pluginprobe.com/plugins/give/4.16.9/code/src/Campaigns/Actions/CreateCampaignPage.php
- Raw: https://pluginprobe.com/plugins/give/4.16.9/raw/src/Campaigns/Actions/CreateCampaignPage.php
- Modified: 2025-05-01T11:56:08+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/give/4.16.9/code/src/Campaigns/Actions/CreateCampaignPage.php#L10-L20`.

```php
<?php

namespace Give\Campaigns\Actions;

use Exception;
use Give\Campaigns\Models\Campaign;
use Give\Campaigns\Models\CampaignPage;
use Give\Campaigns\ValueObjects\CampaignPageStatus;

/**
 * @since 4.0.0
 */
class CreateCampaignPage
{
    /**
     * @throws Exception
     */
    public function __invoke(Campaign $campaign)
    {
        if (
            $campaign->pageId
            || ! $campaign->type->isCore()
        ) {
            return;
        }

        $campaignPage = CampaignPage::create([
            'campaignId' => $campaign->id,
            'status' => CampaignPageStatus::DRAFT(),
        ]);

        $campaign->pageId = $campaignPage->id;
        $campaign->save();
    }
}

```
