Kontaktformular 7 in WordPress, wie man Javascript src in den Körper einfügt

Lesezeit: 3 Minuten

Kontaktformular 7 in WordPress wie man Javascript src in den
sim555

Ich verwende WordPress und das Kontaktformular 7-Plugin. Was ich zu erreichen versuche, ist, dass einige der Dropdown-Menüs mit benutzerdefiniertem Javascript gefüllt sind. Ich weiß, dass Sie es beispielsweise mit einem anderen Plugin “Scripts and Stuff” einbinden können. aber ich wollte es in einer separaten Datei ablegen und die Datei in die Body-Tags des Kontaktformulars mit dem Skript src=”http://example.org/myscript.js” (tatsächliches Formular, das mit dem Plugin erstellt wurde) einfügen.

BEARBEITEN: Ich möchte es nicht zu einer footer.php des Themas hinzufügen, ich möchte, dass sich das Skript src nur auf einer einzelnen Seite befindet. nicht das ganze Thema

Kontaktformular 7 in WordPress wie man Javascript src in den
Aurovrata

sicher, das ist ganz einfach. Es gibt 2 Möglichkeiten, dies zu erreichen,

  1. Sie können entweder ein einfügen <script>with your js code</script> am Ende Ihres Formulars im cf7-Formular-Editor, so wird das Skript nur geladen, wenn das Formular auf der Seite gedruckt wird. Stellen Sie jedoch sicher, dass Sie keine neuen Zeilen und Leerzeichen in Ihren js-Code einfügen, da sonst das cf7-Plugin leere Zeilen einfügt <p></p> Elemente und dies wird Ihren Code bei der Ausführung beschädigen. Alternative,
  2. Wenn Sie WP4.7 ausführen, können Sie jetzt die verwenden do_shortcode_tag die mit dieser Version eingeführt wurde, um Ihr Skript tatsächlich auf derselben Seite einzureihen, auf der das Formular gedruckt wird, aber denken Sie daran, dieses Skript zuerst früher zu registrieren,

    add_filter('wp_enqueue_scripts', 'register_my_script');
    function register_my_script(){
      wp_register_script( 'my-script', get_stylesheet_directory_uri() . 'js/my-script.js', array( 'jquery' ), "1.0" , false );
    }
    add_filter('do_shortcode_tag', 'enqueue_my_script',10,3);
    function enqueue_my_script($output, $tag, $attr){
      if('contact-form-7' != $tag){ 
        return $output; //make sure we filter cf7 shortcodes
      }
      if(isset($attr['id']) && '4' == $attr['id']){
        wp_enqueue_script('my-script'); //enqueue if it is form id=4
      }
      return $output;
    }
    

  • vielen Dank für die sehr informative Antwort, jedoch ist die zweite Option für einen Selbstlern-Anfänger etwas schwierig. gibt es trotzdem noch ein paar weitere // Notizen // um zu erklären, was das Skript tut? Schritt für Schritt?

    – sim555

    2. April 2017 um 18:05 Uhr

  • es macht 2 Dinge: Haken wp_enqueue_scripts Damit können Sie ein Skript in die Warteschlange stellen oder registrieren, das Sie entweder zur Kopf- oder Fußzeile Ihrer Seite hinzufügen möchten. Der Unterschied zwischen register und enqueue besteht darin, dass register genau das tut, aber das Skript nicht tatsächlich auf Ihre Seite druckt, bis Sie es in die Warteschlange stellen, bevor die eigentliche Seite gedruckt wird.

    – Aurovrata

    5. April 2017 um 14:12 Uhr

  • Der 2. Schritt ist das Einhaken do_shortcode_tag Damit können Sie alle auf Ihrer Seite aufgerufenen Shortcodes identifizieren/ändern, bevor sie gedruckt werden. Auf diese Weise können Sie identifizieren, welches cf7-Formular gedruckt wird, und anschließend Ihr zuvor registriertes Skript in die Warteschlange stellen, um sicherzustellen, dass es auf der Seite gedruckt wird (Kopf- oder Fußzeile, je nachdem, wie Sie es registriert haben).

    – Aurovrata

    5. April 2017 um 14:15 Uhr

  • Jawohl. Vielen Dank für die Nachbereitung und ich weiß Ihren Beitrag sehr zu schätzen

    – sim555

    9. April 2017 um 22:12 Uhr

  • @ sim555 großartig, könnten Sie die Antwort freundlicherweise genehmigen und sie positiv bewerten

    – Aurovrata

    10. April 2017 um 12:45 Uhr

1004670cookie-checkKontaktformular 7 in WordPress, wie man Javascript src in den Körper einfügt

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy