=== Japeto Labs – Write to Your MP ===
Contributors: japetolabs
Tags: mp, campaign, advocacy, postcode, contact
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Find your UK MP by postcode and open a pre-written campaign letter in your own email client. Multiple campaigns, each with its own shortcode.

== Description ==

Write to Your MP adds a postcode box to any page. A visitor enters their postcode, sees their MP's name, constituency, party, and email, and gets a campaign letter they can edit before sending. Clicking the button opens the letter in their own email client via `mailto:` — the email is sent by the visitor, not your site, so you carry no responsibility for moderating outgoing mail.

Features:

* Postcode to MP lookup with no API key required.
* Multiple campaigns, each a separate entry with its own shortcode `[wtym_write_to_mp slug="your-campaign"]`.
* Editable letter templates with placeholders for MP details and supporter-entered fields.
* Configurable visitor fields (first name, last name, postal address) per campaign, with optional required validation.
* Friendly handling of invalid postcodes, vacant seats, and MPs with no public email.
* Self-contained, responsive styling that inherits your theme fonts.

Placeholders:

* From the MP lookup: `{mp_name}`, `{constituency}`, `{party}`.
* From the supporter (the fields you enable): `{first_name}`, `{last_name}`, `{address}`.

== External services ==

This plugin looks up MP details from two public services, called server-side only when a visitor submits a postcode:

* postcodes.io (https://postcodes.io) — converts a postcode to a constituency. Privacy: https://postcodes.io/about
* UK Parliament Members API (https://members-api.parliament.uk) — returns the MP's name, party, and contact email. Terms: https://www.parliament.uk

No personal data is stored by this plugin; the letter is sent from the visitor's own email client.

== Installation ==

1. Upload the plugin and activate it.
2. Go to Write to Your MP and add a campaign. Set the intro, subject, letter body, and supporter fields.
3. Publish the campaign and copy its shortcode.
4. Paste the shortcode into a page (in Elementor use the Shortcode widget, not the HTML widget).

== Frequently Asked Questions ==

= Does this send email from my server? =

No. It builds a `mailto:` link that opens the visitor's own email client with the recipient, subject, and body filled in. The visitor reviews and sends it themselves.

= Do I need an API key? =

No. Both upstream services are free and require no key.

== Screenshots ==

1. The postcode lookup form embedded on a campaign page.
2. MP details and the pre-written, editable letter shown after a successful lookup.
3. Managing multiple campaigns in the WordPress admin.
4. Editing a campaign: intro, subject, letter body, and supporter fields.

== Changelog ==

= 1.0.0 =
* First public release: multiple campaigns via a custom post type, configurable supporter fields, split placeholder reference, theme-inherited styling, and a modular codebase.

== Upgrade Notice ==

= 1.0.0 =
Initial release.
