Hm, wollen wir mal vorab ein paar Begriffe klären?
- Die Zeile
/* That’s all, stop editing! Happy blogging. */
kommt nur in der Konfigurationsdatei wp-config.php
vor. Hier solltest du außer der Definition von Konstanten keinen PHP-Code unterbringen.
- Themes haben eine Datei
functions.php
(Plural, „s“ am Ende), in der du Funktionen hinzufügen kannst, die bei der Ausgabe der Webseiten berücksichtigt werden sollen. Problematisch ist aber, dass solche Änderungen bei Theme-Updates überschrieben werden und damit verloren gehen. Deshalb solltest du Änderungen nur an einer functions.php
eines Child-Theme vornehmen.
Wenn es dir zu aufwendig ist, extra für eine kurze Funktion ein Child-Theme anzulegen, kannst du den Code auch mit dem Plugin Code Snippets hinzufügen. Das Plugin hat noch einen weiteren Vorteil: solltest du dich mal beim Code vertun und durch einen Programmierfehler aussperren, kannst du die Änderung wieder rückgängig machen. Das ist entspannter, als per FTP Dateien hoch- und runterzuladen und mit einem externen Editor zu arbeiten.
- SMTP ist das Simple Mail Transfer Protocol, das E-Mail-Provider zum Versand von E-Mails nutzen. Wenn wir in WordPress von SMTP sprechen, ist meistens die Nutzung eines E-Mail-Accounts bei einem E-Mail-Provider gemeint, das zum Beispiel genutzt werden kann, wenn PHP nicht sauber konfiguriert wurde und ein normaler Postversand nicht möglich ist. Es gibt Plugins, mit denen du die Zugangsdaten zu deinem E-Mail-Account bei Google, GMX oder was auch immer eintragen kannst, z.B. WP Mail SMTP von WPForms. Um das zu nutzen brauchst du aber keinen Code irgendwo einfügen.
mail ( string $to , string $subject , string $message , array|string $additional_headers = [] , string $additional_params = "" ) : bool
ist eine von PHP zur Verfügung gestellte Funktion. Mit Check E-Mail kannst du testen, ob die Mail-Funktion sauber eingerichtet ist und E-Mails verschickt werden.
Einige E-Mail-Provider gehen anscheinend inzwischen dazu über, nur E-Mails von existierenden E-Mail-Accounts zu akzeptieren. Wenn du also von z.B. wordpress@example.com
eine E-Mail versenden möchtest, sollte dieses Account auch beim Webhoster eingerichtet sein (du kannst zusätzlich eine automatische Weiterleitung eintreffender E-Mails an dein normales E-Mail-Account einrichten).
WordPress hat eine eigene Funktion zum Versand von E-Mails. Die heißt aber auch nicht phpmail()
sondern wp_mail().
- Code den du hast aber nicht zeigst, können wir nicht beurteilen.
Vielleicht hilft das schonmal ein wenig, das eine oder andere Missverständnis zu klären? Auch wenn es dir wie Erbsenzählerei vorkommt: präg dir von vornherein die richtigen Begriffe ein, weil du sonst irgendwann eine funktion.php erstellst und dich wunderst, wieso nichts klappt, bis du dich wieder daran erinnerst dass die Datei functions.php
heißt. Und bis dahin sind dann vier unbezahlte Stunden vergangen …
Muss ich den Code VOR
/* That’s all, stop editing! Happy blogging. */
einfügen oder geht es auch danach?
Das ist eigentlich egal, aber auch nicht empfehlenswert, es sei denn, du hast Child-Theme. Bei einem Update des Themes musst du damit rechnen, dass die function.php überschrieben wird, was bei einem Child-Theme nicht der Fall ist.
Edit: zu langsam 🙁
-
Diese Antwort wurde geändert vor 3 Jahren, 8 Monaten von bscu.
-
Diese Antwort wurde geändert vor 3 Jahren, 8 Monaten von bscu.
Edit: zu langsam 🙁
Egal! Hauptsache, wir sind uns bei der Antwort einig. 🙂
Danke für Eure ausführlichen Antworten.
Sorry, hatte ich verwechselt. Ich meinte die functions.php vom Theme.
Ich wollte halt nur ein weiteres Plugin vermeiden und die Hauseigenen Möglichkeiten von WP nutzen.
Das wäre der Code:
function mythemename_send_smtp( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = ‚Host‘;
$phpmailer->SMTPAuth = true;
$phpmailer->Port = ‚Port‘;
$phpmailer->Username = ‚User‘;
$phpmailer->Password = ‚Pass‘;
$phpmailer->SMTPSecure = ’ssl/tls‘;
$phpmailer->From = ‚From‘;
$phpmailer->FromName = ‚Name‘;
}
add_action( ‚phpmailer_init‘, ‚mythemename_send_smtp‘ );`
$phpmailer
ist, wie unschwer am vorangestellten $
-Zeichen zu erkennen ist, keine Funktion. 🙂
Freut mich, dass wir helfen konnten.