Berechnung per PHP aus Contact Form 7 ausführen

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Das mit dem action-Befehl hatte ich schon umgesetzt, hatte aber keine Änderung gebracht. Also habe ich dann noch mal weiter rumgespielt und vergessen, diese Tests vor dem posten hier wieder rauszunehmen.

    Den Submit-Button habe ich verschoben. Hat allerdings auch nichts gebracht. Dabei aber folgendes Problem: Es werden am Ende 64 Frage/Radio-Buttons sein, es soll aber nur einen Button zum Berechnen geben. Geht das dann überhaupt?

    Zum Schluss: Der ShortCode steht quasi gleich unter dem Berechnen-Button.

    Mühsam ernährt sich das (Nichtinformatiker-)Eichhörnchen.

  • Ich habe es jetzt einfach mal schnell so zusammengebaut, wie ich es machen würde:

    Das ist quasi die komplette Plugin-Datei.

    In dem Fall jetzt ohne init. Funktioniert aber.

    In die Seite muss dann nur noch der Shortcode [berechnen] eingefügt werden.

  • In dem Fall jetzt ohne init. Funktioniert aber.

    Zitat

    Unlike a Theme, a Plugin is run at a very early stage of the loading process thus requiring us to postpone the adding of our shortcode until WordPress has been initialized. We recommend the init action hook.


    Mehr dazu hier, lieber gleich richtig machen, vermeidet spätere Probleme...

  • Mehr dazu hier, lieber gleich richtig machen, vermeidet spätere Probleme...

    Ah, das war mir nicht klar, dass das die "offizielle" Empfehlung ist.
    Ich dachte, der init-Hook wird nur dann benötigt, wenn man innerhalb des Shortcodes auf z.B. Post- oder User-Daten zugreifen möchte (was in diesem Fall ja nicht benötigt wird).

  • Ok, ich begreife. Ich wusste nicht, dass der Radio-Button auch im PHP-Skript erzeugt wird. Den hatte ich bisher immer auf der Seite als HTML-Code stehen.

    Hab das gerade mal umgesetzt und siehe da, es funktioniert! :grin: Vielen Dank für deine unermüdliche Mühe!

    Mühsam ernährt sich das (Nichtinformatiker-)Eichhörnchen.

  • Ok, ich begreife. Ich wusste nicht, dass der Radio-Button auch im PHP-Skript erzeugt wird. Den hatte ich bisher immer auf der Seite als HTML-Code stehen.

    Das muss auch nicht. Es geht auch, wenn du das Formular direkt in HTML in die Seite schreibst.
    Ich persönlich würde es aber so machen, deswegen habe ich es im Beispiel so gemacht. So hat man alles was zusammengehört auch im Code zusammen.

    Ich hab das Formular auch noch ein bisschen geändert/angepasst.


    Hab das gerade mal umgesetzt und siehe da, es funktioniert! :grin: Vielen Dank für deine unermüdliche Mühe!

    Sehr gern :)

  • Ich brauche also ein Butten, der das PHP-Skript ausführt, wobei das PHP-Skript die Wert der einzelnen Fragen (also was angekreuzt wurde) irgendwie auslesen muss. Als Ausgabe steht dann eine Zahl zwischen 0 und 5. Die Berechnung bekäme ich per PHP hin. JAVA kenne ich gar nicht.

  • Ich brauche also ein Butten, der das PHP-Skript ausführt, wobei das PHP-Skript die Wert der einzelnen Fragen (also was angekreuzt wurde) irgendwie auslesen muss. Als Ausgabe steht dann eine Zahl zwischen 0 und 5. Die Berechnung bekäme ich per PHP hin. JAVA kenne ich gar nicht.

    Das habe ich jetzt leider nicht ganz verstanden. Du möchtest also auch etwas ähnliches wie der TE machen? Wie gesagt, Java hat damit auch gar nichts zu tun. Wenn dann eher Javascript.

    Du kannst aber auch einfach mein Basis-Plugin verwenden (siehe Beitrag #24) das bringt die Grundfunktionalität mit und du müsstest es dann nur noch an deine Bedürfnisse anpassen. Das ist komplett in PHP, Java oder Javascript wird dafür nicht benötigt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!