// Create newsletter table on theme activation function mymail_create_table() global $wpdb; $table_name = $wpdb->prefix . 'mymail_subscribers'; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE $table_name ( id mediumint(9) NOT NULL AUTO_INCREMENT, email varchar(100) NOT NULL, name varchar(100) DEFAULT '', status tinyint(1) DEFAULT 1, subscribed_at datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY email (email) ) $charset_collate;";
add_action('init', 'mymail_handle_subscription'); Add this to send emails to all subscribers from WordPress admin: mymail wordpress
echo '<p>Thank you for subscribing!</p>'; // Create newsletter table on theme activation function
?> <div class="wrap"> <h1>MyMail Newsletter</h1> <h2>Subscribers (<?php echo count($subscribers); ?>)</h2> <ul> <?php foreach ($subscribers as $sub): ?> <li><?php echo esc_html($sub->email); ?> (<?php echo esc_html($sub->name); ?>)</li> <?php endforeach; ?> </ul> $table_name = $wpdb->
// Admin menu add_action('admin_menu', 'mymail_admin_menu'); function mymail_admin_menu() add_menu_page('MyMail', 'MyMail', 'manage_options', 'mymail', 'mymail_admin_page');