Ich habe seit ein paar Tagen mit diesem Problem gekämpft und ich hoffe wirklich, dass Sie mir helfen können.Frontend benutzerdefinierte Beitragseinreichung Ergebnisse in wp_insert_post() undefined
Ich habe ein Plugin erstellt, die in befinden:
'/ wp-content/plugins/my-cool-Plugin'.
Mein Plugin erlaubt Benutzern, einen benutzerdefinierten Beitragstyp über ein Formular auf einer öffentlichen Seite zu posten, grundsätzlich sollte jeder in der Lage sein, etwas zu posten. Mit jQuery, höre ich zu, wenn mein Frontend-Formular übergeben wird und mit Ajax übergebe ich die Daten aus dem Formular in eine PHP-Datei, um es in einen Post zu verarbeiten. Diese Datei befindet sich unter:
'/wp-content/plugins/my-cool-plugin/inc/processor.php'.
Unten ist der Inhalt meiner Prozessor-Datei:
$var1= $_POST['some'];
$var2= $_POST['data'];
$new_post = array(
'post_type' => 'my_custom_post',
'post_status' => 'publish',
'mcp_1' => $var1,
'mcp_2' => $var2
);
$post_id = wp_insert_post($new_post, $wp_error);
if ($wp_error == 'false'){
$post_url = get_permalink($post_id);
echo $post_url;
}else {
// some sort of error
}
Wenn ich meine Form testen, führt dies zu dem folgenden Fehler:
Call to undefined function wp_insert_post() in Zeile ... die ist die folgende Zeile:
Muss ich etwas hinzufügen, da ich nicht mehr im WordPress-Bereich bin? Oder gibt es eine andere (viel bessere) Möglichkeit zum Einfügen von benutzerdefinierten Posts aus einem Front-End-Formular?
Meine Datei befindet sich nicht im WordPress-Bereich, daher wird die 'wp-load.php' Datei im Ordner der Datei gesucht, die die' wp-load.php' Datei benötigt. Das bedeutet, dass das request nach 'wp-load.php' in meinem'/wp-content/plugins/my-cool-plugin/inc/'Ordner sucht. – Tomjesch