I have tried a few plugins (wysija, newsletter, xyz newsletter), but no one met my requirements so far.

What I want is each page to have a sign up form and then the person that signs up would be added to a different list depending on the page they signed up from.

I'm looking for premium or free plugins, and want to avoid third party solutions as well.

  • Can you please mention the plugins you've already tried? – brasofilo Jul 3 '12 at 11:31
  • wysija, newsletter, xyz newsletter.. I will possibly opt for WordPress Newsletter Plugin by Tribulant.. – mysterious Jul 3 '12 at 14:50

I believe that you can solve this with any plugin...

By Code

Using Wysija example:

if ( is_page( array( 42,'about-me','Contact' ) ) )
    $widgetdata=array (
       'widget_id' => 'wysija-nl-php-1',//form identifier important when many subscription forms on the same page
       'title' => 'Subscribe to our Newsletter',//title of widget
       'instruction' => 'To subscribe to our dandy newsletter simply add your email below. A confirmation email will be sent to you!', // instruction to be displayed on top of the widget
       'lists' =>  array (0 => '1'), //array of list_id to which you want to subscribe your users
       'submit' => 'Subscribe!',//name of the subscribe button
       'success' => 'You’ve successfully subscribed. Check your inbox now to confirm your subscription.',//success message returned when registered
       'customfields' =>array ( //optional array of custom fields to be displayed lastname, firstname, email
            'firstname' => array ('column_name' => 'firstname','label' => 'Prénom'),
            'lastname' => array ('column_name' => 'lastname','label' => 'Nom'),
            'email' => array ('label' => 'Email')
       'labelswithin' => 'labels_within' //parameter to put the label of the custom field as a default value of the field

    $widgetNL=new WYSIJA_NL_Widget(1);
    $subscriptionForm= $widgetNL->widget($widgetdata,$widgetdata);

    echo $subscriptionForm;
    $widgetdata=array ( /* ANOTHER SETTINGS ARRAY */ );

    $widgetNL=new WYSIJA_NL_Widget(2);
    $subscriptionForm= $widgetNL->widget($widgetdata,$widgetdata);

    echo $subscriptionForm;

By widget

Coupling the newsletter with Widget Login: enter image description here

Not the answer you're looking for? Browse other questions tagged or ask your own question.