Mymail Wordpress !!better!! -
// 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;";
function mymail_admin_page() global $wpdb; $table = $wpdb->prefix . 'mymail_subscribers'; $subscribers = $wpdb->get_results("SELECT * FROM $table WHERE status=1"); mymail wordpress
add_shortcode('mymail_form', 'mymail_subscription_form'); // Process subscription function mymail_handle_subscription() if (isset($_POST['mymail_subscribe']) && wp_verify_nonce($_POST['mymail_nonce'], 'mymail_subscribe_action')) global $wpdb; $email = sanitize_email($_POST['mymail_email']); $name = sanitize_text_field($_POST['mymail_name']); if (!is_email($email)) echo '<p>Invalid email address.</p>'; return; // 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> 'wp-admin/includes/upgrade
// Admin menu add_action('admin_menu', 'mymail_admin_menu'); function mymail_admin_menu() add_menu_page('MyMail', 'MyMail', 'manage_options', 'mymail', 'mymail_admin_page');
require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); dbDelta($sql); add_action('after_switch_theme', 'mymail_create_table'); // Shortcode: [mymail_form] function mymail_subscription_form() ob_start(); ?> <form method="post" class="mymail-form"> <input type="email" name="mymail_email" placeholder="Your email address" required> <input type="text" name="mymail_name" placeholder="Your name (optional)"> <input type="submit" name="mymail_subscribe" value="Subscribe"> <?php wp_nonce_field('mymail_subscribe_action', 'mymail_nonce'); ?> </form> <?php return ob_get_clean();