# jetformbuilder/1.1.1/includes/shortcodes/shortcode.php

JetFormBuilder — Dynamic Blocks Form Builder, version 1.1.1. 37 lines.

- Page: https://pluginprobe.com/plugins/jetformbuilder/1.1.1/code/includes/shortcodes/shortcode.php
- Raw: https://pluginprobe.com/plugins/jetformbuilder/1.1.1/raw/includes/shortcodes/shortcode.php
- Modified: 2021-03-11T08:51:14+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/jetformbuilder/1.1.1/code/includes/shortcodes/shortcode.php#L10-L20`.

```php
<?php


namespace Jet_Form_Builder\Shortcodes;


abstract class Shortcode {

	public function __construct() {
		add_shortcode( $this->get_name(), array( $this, 'add_shortcode_callback' ) );
	}

	abstract public function get_name();

	abstract public function generate( $settings );

	protected function default_args() {
		return array();
	}

	protected function prepare_attributes( $attrs ) {
		$result = array();

		foreach ( $attrs as $name => $attr ) {
			$result[ $name ] = $attr['default'];
		}

		return $result;
	}

	public function add_shortcode_callback( $atts ) {
		$settings = shortcode_atts( $this->default_args(), $atts, $this->get_name() );

		return $this->generate( $settings );
	}

}
```
