# give/4.16.8.1/src/Campaigns/Actions/RegisterCampaignIdRestField.php

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

- Page: https://pluginprobe.com/plugins/give/4.16.8.1/code/src/Campaigns/Actions/RegisterCampaignIdRestField.php
- Raw: https://pluginprobe.com/plugins/give/4.16.8.1/raw/src/Campaigns/Actions/RegisterCampaignIdRestField.php
- Modified: 2025-03-31T19:17:16+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.8.1/code/src/Campaigns/Actions/RegisterCampaignIdRestField.php#L10-L20`.

```php
<?php

namespace Give\Campaigns\Actions;

use Give\Campaigns\ValueObjects\CampaignPageMetaKeys;

/**
 * @since 4.0.0
 */
class RegisterCampaignIdRestField
{
    /**
     * @since 4.0.0
     */
    public function __invoke()
    {
        register_rest_field(
            'page',
            'campaignId',
            [
                'get_callback' => function ($object) {
                    return get_post_meta($object['id'], CampaignPageMetaKeys::CAMPAIGN_ID, true);
                },
                'update_callback' => function ($value, $object) {
                    return update_post_meta($object->ID, CampaignPageMetaKeys::CAMPAIGN_ID, (int) $value);
                },
                'schema' => [
                    'description' => 'Campaign ID',
                    'type' => 'string',
                    'context' => ['view', 'edit'],
                ],
            ]
        );
    }
}

```
