it-swarm.com.de

Suchen Sie nach einem einfachen Ansatz für den Umgang mit Benutzerdaten $ _POST ohne AJAX?

Ich suche nach einer einfachen Möglichkeit, mit einem Wordpress-Plugin $_POST-Daten von einem vom Benutzer übermittelten Formular zu verarbeiten. Die Back-End-Verarbeitung wird ausgeführt, und dann werde ich bei Bedarf auf eine neue Seite umleiten. Während der Verarbeitung wird also keine Benutzeroberfläche angezeigt.

Grundsätzlich möchte ich ein Formular einreichen wie ...

   <form method="post" action="/back-end-processing.php">
     <input type="text" name="text" />
     <input type="submit" value="submit" />
   </form>';

... und verarbeite es so wie ich es mit PHP machen würde, aber immer noch in der Lage bin, den "Nonce" -Schutz von WP zu verwenden.

Einige Beispiele, die ich gesehen habe, schlagen vor, dass ich admin-post.php verwenden sollte, aber ich war besorgt, dass es nur für tatsächliche Administratoren und nicht für allgemeine Benutzer .

Ein anderer Ansatz schlug vor ...

function checkCheckBox()
{
    if($_POST['checkbox'] == 1)
    {
       return true;
    }

    return false;
}

add_action('init', 'checkCheckBox');

... dies scheint jedoch übertrieben, da es für jede Seite aufgerufen wird, während meine Website-Besucher nur selten Daten dort veröffentlichen.

2
Ken K

Die beste Methode zum Verarbeiten des benutzerdefinierten Formulars ist die folgende. Wenn Sie nonce verwenden, müssen Sie $ _POST ['checkbox'] nicht wirklich aktivieren. Der folgende Code kann einfach verwendet werden, um_nonce zu verifizieren und das Formular dann zu verarbeiten.

function process_my_form() {
    if ( wp_verify_nonce( $_POST['my_nonce_field'], 'my_nonce' ) ) {
        // process your form here
        // you can also redirect and call exit here.
    }
}
add_action( 'init', 'process_my_form' );

Wenn Sie Ihr Formular dennoch an ein benutzerdefiniertes PHP-Skript senden möchten, laden Sie die Datei wp-blog-header.php.

<?php 
define('WP_USE_THEMES', false);
require('./wp-blog-header.php');
?>

Weitere Informationen finden Sie unter http://codex.wordpress.org/Integrating_WordPress_with_Your_Website .

2

Verwenden Sie die Einstellungs-API und verarbeiten Sie die $_POST-Daten in der Validierungs-Rückruffunktion.

BEARBEITEN:

Oh, warte: Du hast das Front-End Formular gesagt, von dem ich annehme, dass es nicht mit den Plugin-Optionen zusammenhängt? (Wenn das Formular aus irgendeinem Grund die Plugin-Optionen aktualisiert , , siehe hier .)

Wie fügen Sie Ihr Formular hinzu? Kurzcode? Post-Daten? In die Vorlage fest einprogrammiert?

1
Chip Bennett