2017-12-22 1 views
0

Ich möchte ein PHP-Skript mit einer Ajax-Anfrage ausführen. Ich habe alles funktioniert außer Warnmeldungen, die beim Auslösen der Ajax-Anfrage erscheinen. Die Funktionalität des Skripts funktioniert einwandfrei, jedoch möchte ich die Warnmeldungen lösen oder sie unterdrücken, wenn sie nicht wichtig sind.PHP Fehlermeldungen ausgelöst einschließlich Wordpress PHP-Datei

Hier ist die Skriptdatei.

<?php 
//If the warnings aren't important, uncomment 
//error_reporting(0); 
//Required include for the wp_mail() function 
include '../../../wp-load.php'; 

$to = '[email protected]'; 
$subject = 'Donation to cbc at' . ' ' . time(); 
$body = 'The email body content'; 
$headers = array('Content-Type: text/html; charset=UTF-8'); 

wp_mail($to, $subject, $body, $headers); 
?> 

Hier sind die erzeugten Warnungen

Warning: include(../../../wp-load.php): failed to open stream: No such file or directory in /home2/cbc/public_html/wp-content/themes/bento/page-example.php on line 5 

Warning: include(../../../wp-load.php): failed to open stream: No such file or directory in /home2/cbc/public_html/wp-content/themes/bento/page-example.php on line 5 

Warning: include(): Failed opening '../../../wp-load.php' for inclusion (include_path='.:/opt/php56/lib/php') in /home2/cbc/public_html/wp-content/themes/bento/page-example.php on line 5 

ich mehrere verschiedene Arten von includes und requires für die wp-load.php versucht haben, dass ich auf Stackoverflow gefunden haben. Alle, die ich bisher ausprobiert habe, haben Warnungen ausgegeben, obwohl einige unterschiedliche Warnungen ausgeben. Auch hier funktioniert die Funktionalität, aber diese Fehler sind bedenklich.

+1

Sind Sie sicher, dass der Weg für wp-load.php richtigen Verzeichnis? –

+0

Es muss sein, denn ohne das Include bekomme ich die Email nicht. Auch diese Datei ist drei Ebenen höher, als die drei "../" anzeigen würden. – frillybob

+0

Warnungen scheinen klar, was verstehst du nicht? – rtfm

Antwort

1

Versuchen:

$my_url= explode('wp-content', $_SERVER['SCRIPT_FILENAME']); 
require_once($my_url[0] . 'wp-load.php'); 

Statt

include '../../../wp-load.php'; 
+0

Auf diese Weise werden keine Fehler angezeigt, die Funktion funktioniert jedoch auch nicht mehr. – frillybob

+0

ist dies die lokale Entwicklung oder leben? hast du den Mailserver eingerichtet ?? Versuchen Sie, das Ergebnis von wp_mail auszugeben, und sehen Sie, was den Fehler beim Senden der E-Mail verursacht hat. – Yamu

Verwandte Themen