1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
<?php
namespace SIW\Widgets;
use SIW\HTML;
class Newsletter extends Widget {
protected $widget_id ='newsletter';
protected $widget_dashicon = 'email';
protected function set_widget_properties() {
$this->widget_name = __( 'Nieuwsbrief', 'siw');
$this->widget_description = __( 'Toont aanmeldformulier voor nieuwsbrief', 'siw' );
}
public function get_widget_form() {
$widget_form = [
'title' => [
'type' => 'text',
'label' => __( 'Titel', 'siw' ),
'default' => __( 'Blijf op de hoogte', 'siw' ),
'required' => true,
],
];
return $widget_form;
}
protected function get_content( array $instance, array $args, array $template_vars, string $css_name ) {
$subscriber_count = siw_newsletter_get_subscriber_count( siw_get_option( 'newsletter_list' ) );
$form_id = uniqid( 'newsletter_form_' );
$message_id = uniqid('newsletter_message_');
ob_start();
?>
<div class="newsletter_widget">
<div id="<?php echo $message_id;?>" class="newsletter_message"></div>
<form method="post" autocomplete="on" class="newsletter_form" id="<?php echo $form_id;?>" data-message-id="<?php echo $message_id;?>">
<p>
<?= sprintf( esc_html__( 'Meld je aan voor onze nieuwsbrief en voeg je bij de %d abonnees.', 'siw' ), $subscriber_count );?>
</p>
<?php
echo HTML::generate_field( 'text', [ 'label' => __( 'Voornaam', 'siw' ), 'id' => 'newsletter_name', 'name' => 'name', 'required' => true ], [ 'tag' => 'p' ] );
echo HTML::generate_field( 'email', [ 'label' => __( 'E-mail', 'siw' ), 'id' => 'newsletter_email', 'name' => 'email', 'required' => true ], [ 'tag' => 'p' ] );
echo HTML::generate_field( 'submit', [ 'value' => __( 'Aanmelden', 'siw' ) ], [ 'tag' => 'p'] );
?>
</form>
</div>
<?php
$content = ob_get_clean();
return $content;
}
}