Fügen Sie meinem benutzerdefinierten Formular eine Captcha-validation für das Frontend-Posting hinzu

Ich habe das Frontend-Formular implementiert, das es UNREGISTERED-Benutzern ermöglicht, auf meiner Site zu posten.

Alles funktioniert perfekt, das einzige Problem, das ich habe, ist mit der Umsetzung des Captcha.

Alle Captcha-Lösungen, die ich gefunden habe, müssen eine äußere Datei in die Formularaktion einfügen. Aber meine Form hat diese Syntax:

Ich weiß nicht, was ich tun soll? Wenn ich die Datei in das Aktionsfeld lege, kann ich den Beitrag nicht mehr hinzufügen. Wie würde ich den Bestätigungscode für das Captcha in die gleiche Datei wie das Formular schreiben? Oder eine bessere Lösung?

EDIT: Wie kann ich das Formular ändern, dass es das gleiche tun würde (fügen Sie Post hinzu), wie es es jetzt tut, aber dass ich eine Datei in die Formularaktion aufnehmen könnte:

  

Solutions Collecting From Web of "Fügen Sie meinem benutzerdefinierten Formular eine Captcha-validation für das Frontend-Posting hinzu"

Probieren Sie das einfache Captcha WodPress-Plugin aus . Hier ist ein How to für die Implementierung von Really Simple Captcha für benutzerdefinierte Plugins: http://www.lost-in-code.com/platforms/wordpress/wordpress-plugins/wordpress-using-really-simple-captcha/

Verwenden Sie jQuery und senden Sie zuerst den Formularinhalt, hier das Captcha, an Ihre Datei, in der das Captcha geprüft wird. Dann senden Sie die Formulardaten an Ihre Buchungsroutine.

 $( '#frontend-post-form-submit' ).click( function(event) { var data = { ... insert the captcha from the form here ... }; $.post( 'some_file.php', data, function( result ) { // stop if the captcha isn't correct if ( false === result.result ) { event.preventDefault(); } return result.result; } ); } ); 

Wenn Ihre Absenden-Schaltfläche die ID frontend-post-form-submit und das Captcha nicht korrekt ist, wird das Formular nicht mehr von jQuery event.preventDefault ( event.preventDefault ). Andernfalls wird das Formular normal übermittelt.