# give/4.17.0/src/Form/LegacyConsumer/TemplateHooks.php

GiveWP – Donation Plugin and Fundraising Platform, version 4.17.0. 55 lines.

- Page: https://pluginprobe.com/plugins/give/4.17.0/code/src/Form/LegacyConsumer/TemplateHooks.php
- Raw: https://pluginprobe.com/plugins/give/4.17.0/raw/src/Form/LegacyConsumer/TemplateHooks.php
- Modified: 2021-11-23T23:55:18+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.17.0/code/src/Form/LegacyConsumer/TemplateHooks.php#L10-L20`.

```php
<?php

namespace Give\Form\LegacyConsumer;

class TemplateHooks
{
    /**
     * A "full-ish" list of available actions.
     * @note The `give_` prefix has been removed for interoperability.
     * @note Update to account for previously deprecated hooks.
     * @link https://givewp.com/documentation/developers/how-to-create-custom-form-fields/
     * @link https://givewp.com/add-content-donation-forms/
     */
    const TEMPLATE_HOOKS = [
        'before_donation_levels',
        'after_donation_amount',
        'after_donation_levels',
        'payment_mode_top',
        'payment_mode_before_gateways',
        'payment_mode_after_gateways',
        'payment_mode_after_gateways_wrap',
        'payment_mode_bottom',
        'donation_form',
        'donation_form_top',
        'purchase_form_top',
        'donation_form_register_login_fields',
        'donation_form_before_cc_form',
        'cc_form',
        'before_cc_fields',
        'before_cc_expiration',
        'after_cc_expiration',
        'after_cc_fields',
        'donation_form_after_cc_form',
        'purchase_form_bottom',
        'donation_form_before_personal_info',
        'donation_form_after_personal_info',
    ];

    public function walk(callable $callback)
    {
        $hooks = $this->getHooks();
        array_walk($hooks, $callback);
    }

    public function reduce(callable $callback, $initial = null)
    {
        return array_reduce($this->getHooks(), $callback, $initial);
    }

    public function getHooks()
    {
        return self::TEMPLATE_HOOKS;
    }
}

```
