http://wordpress.org/extend/plugins/post-notification/
Plugin wordt niet meer onderhouden, maar werkte lange tijd nog goed. Ik ben inmiddels overgestapt op MailChimp voor nieuwsbrieven.
“Could not instantiate mail function” en zoiets als dit: https://wordpress.org/support/topic/could-not-instantiate-mail-function-1
Opgelost met deze plugin die het verzenden beter regelt: https://wordpress.org/plugins/wp-mail-smtp/
Hij werkte direct toen ik hem geinstalleerd had. Standaard staat er al een vinkje naast: Send all WordPress emails via SMTP.
Oplossing zelf ontdekt: de plugin kan om de een of andere redden de tabel wp_post_notification_emails niet aanmaken. Toen ik dat handmatig had gedaan, werkte de plugin weer helemaal naar behoren!
Kies in de 1e regel het door jou gebruikte voorvoegsel/prefix.
[code]<br />–<br />– Tabelstructuur voor tabel `wp_post_notification_emails`<br />–<br /><br />CREATE TABLE IF NOT EXISTS `wp_post_notification_emails` (<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> `id` int(11) NOT NULL AUTO_INCREMENT,<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> `email_addr` varchar(255) DEFAULT NULL,<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> `gets_mail` int(11) DEFAULT NULL,<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> `last_modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> `date_subscribed` datetime DEFAULT NULL,<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> `act_code` varchar(32) DEFAULT NULL,<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> `subscribe_ip` int(10) unsigned NOT NULL DEFAULT ‘0’,<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> PRIMARY KEY (`id`),<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> KEY `id` (`id`,`gets_mail`),<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> KEY `email_addr` (`email_addr`)<br />) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;<br />[/code]Het is mogelijk emailadressen te importeren of te exporteren.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Eetbaar Nijmegen</title>
<meta http-equiv=content-type content="text/html; charset=ISO-8859-1" />
</head>
<body>
<style type="text/css">
body {
margin: 0px;
padding: 0px;
width:100{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4} !important;
background: #FFF;
font-family: Verdana,Geneva,sans-serif;
font-size: 14px;
}
#container {
margin: 20px;
padding: 10px;
background: #FFF;
/*border:solid 1px #275C3C;*/
}
h1 {
border-top:dotted 1px #275C3C;
padding-top: 20px;
font-size: 1.4em;
color: #275C3C;
}
h1 a:link{color: #275C3C;}
h2 {font-size: 1.2em;font-weight: bold;}
h3 {
font-size: 1.0em;
font-weight: bold;
}
a:link {color:#000;
text-decoration: underline;
}
a:hover {color: #275C3C;
text-decoration: underline;}
.subscriptionDetails {
margin: 20px 0;
font-size: 1em;
font-family: "Lucida Sans Unicode", Tahoma, Arial, sans-serif;
color: #000;}
#onlinelezen a{font-size: 0.9em; text-align:right; font-weight:normal; float:right; padding-right:10px}
.alignright, img.alignright { display: inline; float: right; margin-left: 1.5em; }
.aligncenter, img.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; }
p { clear: both; }
.alignleft {
float: left;
margin: 0 10px 5px 0;
}
td.nietinnieuwsbrief {color:#fff; width:1px; line-height:50{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}}
table#agendapunten td.footable-first-column {width:30{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}}
table#agendapunten .footable-row-detail-value {font-size:80{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}}
table#agendapunten thead {display:none}
td.nietinnieuwsbrief {color:#fff; width:1px; line-height:50{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}}
tr.smalvoornieuwsbrief {}
</style>
<body marginheight="0" offset="0">
<center>
<table border="0" cellpadding="0" cellspacing="0" height="100{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}" width="100{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}" id="backgroundTable" style="height:100{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4} !important; margin:0; padding:0; width:100{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4} !important;">
<tr>
<td align="center" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="600" id="templateContainer">
<tr>
<td align="center" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="600" id="templateHeader" style="background-color:#FFF;">
<tr>
<td class="headerContent">
<img src="http://eetbaarnijmegen.nl/nijme/wp-content/uploads/nieuwsbrief/nieuwsbriefheaderMetlogo.JPG" style="border:none; display:block; height:auto; line-height:100{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}; outline:none; text-decoration:none; max-width:600px;" />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" valign="top">
<!– // Begin Template Body \\ –>
<table border="0" cellpadding="0" cellspacing="0" width="600" id="templateBody">
<tr>
<td valign="top" width="600" id="templateContent">
<table border="0" cellpadding="10" cellspacing="0" width="100{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}">
<tr><td id="onlinelezen">
<a href="@@permalink">De nieuwsbrief online lezen</a></td></tr>
<tr>
<td valign="top" style="color:#000; font-size:14px; line-height:150{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}; text-align:left;">
<h1><a href="@@permalink" style="color:#275C3C">@@title</a></h1>
<div id="content">@@content</div>
<table border="0" cellpadding="0" cellspacing="0" width="100{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}">
<tr>
<td align="center" colspan="4" valign="middle">
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!– // End Template Body \\ –>
</td>
</tr>
<tr>
<td align="center" valign="top">
<!– // Begin Template Footer \\ –>
<table border="0" cellpadding="20" cellspacing="0" width="600" id="templateFooter" style="background-color:transparent; border-top: 4px solid #CCCCCC;">
<tr>
<td valign="top" class="footerContent" style="color:#888987; font-size:11px; line-height:125{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}; text-align:left;">
<div id="subscriptionDetails">
Als u deze nieuwsbrief niet langer wilt ontvangen, klikt u dan
<a href="@@conf_url">hier</a> om hem op te zeggen
</div>
</td>
</tr>
</table>
<!– // End Template Footer \\ –>
</td>
</tr>
</table>
<br />
</td>
</tr>
</table>
</center>
</body>
</html>[/code]
Daarna een extra text widget gevuld met: [code]<form id="newsletter" method="post" action="<?php echo post_notification_get_link(); ?>" style="text-align:left">
<p>email: <input type="text" name="addr" size="25" maxlength="50" value="<?php echo post_notification_get_addr(); ?>"/> </p>
<input type="submit" name="submit" value="Submit" /></p>
</form>[/code]
NB: wel even de plugin Exec-PHP installeren.
De Nederlandse is alleen zichtbaar op Nederlandse pagina’s met voorwaarde: (widget logic plugin installeren)
qtrans_getLanguage()==”nl”
De engelstalige pagina’s zien het inschrijf-widget met: qtrans_getLanguage()==”en”
Mijn aanpassingen: kies voor de hoofdtaal (engels bijv.) en zet dan alle bestanden in die ene hoofdmap, maar geef ze een net iets andere naam en pas dan de hoofdbestanden die ze oproepen aan. Het is grotendeels copy – paste. En ook makkelijk uit te breiden naar meer talen.
functions.php:
[code lang=”js”]<br /><br />function post_notification_get_link(){<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> if (qtrans_getLanguage()=="en") {<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> //header 5<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> $page=412;}<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> else{<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> //header 3<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> $page=410;}<br /><br />//$page = get_option(‘post_notification_url’);<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> //if (qtrans_getLanguage()=="en" &&<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> if (is_numeric($page)) return get_permalink($page);<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> return $page;<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> }[/code]reg_success2.tmpl: heeft inhoud van nederlandstalige bevestiging; geplaatst in engelstalige mapje.
Taalmpaje engels:
bestand strings.php: dit bevat alle vertalingen van standaard termen zoals ‘activated’ => ‘Activation successful’,
Ik heb het rijtje uit het overeenkomstige Nl-bestand gekopieerd en achter het engelse geplakt. De benamingen aangepast. Dus:
‘activated_nl’ => ‘Activering geslaagd’,
In frontend.php:
[code lang=”js”]<br /><br />if (qtrans_getLanguage()=="en"){<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> $content[‘header’] = $post_notification_strings[‘registration_successful’];<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> $msg = post_notification_ldfile(‘reg_success.tmpl’);<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> return $content;} //here it ends – We don’t want to show the selection screen.<br /><br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> if (qtrans_getLanguage()=="nl"){<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> $content[‘header’] = $post_notification_strings[‘registration_successful_nl’];<br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> $msg = post_notification_ldfile(‘reg_success_nl.tmpl’);<br /><br /><{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}KEEPWHITESPACE{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}{6057f192fcaa104d5cef828d6b20b99706932ef5d7e753992a4e9cd8fde980a4}> return $content; }[/code]De inschrijfpagina’s eb ik zelf een title gegeven, in plaats van de code: @@post_notification_header te gebruiken. Want daarmee krijg je de titel in de standaardtaal.
Nu gekozen voor: inschrijving voor berichten en subscription to posts.
Vergelijkbaar:
- Email alerts
Email alert voor gebruikers als iemand een bericht plaatst