# ivyforms/0.9.1/view/frontend/view.php

The Innovative Form Builder – IvyForms, version 0.9.1. 31 lines.

- Page: https://pluginprobe.com/plugins/ivyforms/0.9.1/code/view/frontend/view.php
- Raw: https://pluginprobe.com/plugins/ivyforms/0.9.1/raw/view/frontend/view.php
- Modified: 2025-10-23T15:35:44+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/ivyforms/0.9.1/code/view/frontend/view.php#L10-L20`.

```php
<?php if (!defined('ABSPATH')) exit; // Exit if accessed directly

use IvyForms\Services\Field\FieldType;
use IvyForms\Services\Shortcode\ShortcodeService;

/** @var int $counter */
$form = ShortcodeService::$formList[$counter];
?>

<div id="ivyforms-app-<?php echo esc_attr($counter) ?>"
     class="ivyforms ivyforms-frontend"
     data-counter="<?php echo esc_attr($counter) ?>"
     data-post-id="<?php echo esc_attr(get_the_ID()); ?>"
     data-referer-url="<?php echo esc_attr(wp_get_referer() ?: ''); ?>"
>
    <form-render id="ivyforms-form-<?php echo esc_attr($counter) ?>"></form-render>
</div>
<!-- Wrapper for skeleton -->
<div class="ivyforms-skeleton ivyforms-skeleton-<?php echo esc_attr($counter)?>" >
    <div class="ivyforms-skeleton-title ivyforms-skeleton-animate"></div>

    <?php for ($i = 0; $i < count($form['fields']); $i++): ?>
        <?php $type = FieldType::isValid($form['fields'][$i]['type']) ? $form['fields'][$i]['type'] : '' ?>
        <div class="ivyforms-skeleton-field">
            <div class="ivyforms-skeleton-label ivyforms-skeleton-animate"></div>
            <div class="ivyforms-skeleton-input ivyforms-skeleton-<?php echo esc_attr($type) ?> ivyforms-skeleton-animate"></div>
        </div>
    <?php endfor; ?>

    <div class="ivyforms-skeleton-button ivyforms-skeleton-animate"></div>
</div>
```
