37 lines
1.6 KiB
PHP
37 lines
1.6 KiB
PHP
<?php
|
|
if (!defined('ABSPATH')) exit;
|
|
class WMF_Shortcode {
|
|
private static $instance=null;
|
|
public static function instance() {
|
|
if(is_null(self::$instance)){self::$instance=new self();self::$instance->hook();}
|
|
return self::$instance;
|
|
}
|
|
public function hook() {
|
|
add_shortcode('wp_multi_formular',array($this,'render'));
|
|
add_action('wp_enqueue_scripts',array($this,'enqueue_assets'));
|
|
add_action('init',array($this,'start_session'),1);
|
|
}
|
|
public function start_session() { if(!session_id()&&!headers_sent()) session_start(); }
|
|
public function render($atts) {
|
|
$atts=shortcode_atts(array('id'=>0),$atts,'wp_multi_formular');
|
|
$id=intval($atts['id']);
|
|
if(!$id) return '<p class="wmf-error">Bitte geben Sie eine Formular-ID an.</p>';
|
|
return WMF_Form_Renderer::render($id);
|
|
}
|
|
public function enqueue_assets() {
|
|
wp_enqueue_style('wp-multi-formular',WMF_URL.'assets/css/frontend.css',array(),WMF_VERSION);
|
|
wp_enqueue_script('wp-multi-formular',WMF_URL.'assets/js/frontend.js',array('jquery'),WMF_VERSION,true);
|
|
wp_localize_script('wp-multi-formular','WMF_Frontend',array(
|
|
'ajax_url'=>admin_url('admin-ajax.php'),
|
|
'i18n'=>array(
|
|
'required' =>'Dieses Feld ist ein Pflichtfeld.',
|
|
'email' =>'Bitte geben Sie eine gültige E-Mail-Adresse ein.',
|
|
'url' =>'Bitte geben Sie eine gültige URL ein.',
|
|
'step_of' =>'Schritt %1 von %2',
|
|
'next' =>'Weiter',
|
|
'prev' =>'Zurück',
|
|
),
|
|
));
|
|
}
|
|
}
|