Führen Sie einen Shortcode aus, wenn Sie auf ein Bild klicken

Ich habe dies in stackoforflow unter Javascript gefragt und wurde nicht informiert, also versuche ich hier

Ich habe einen Shortcode für ein Opt-In-Formular und ich möchte, dass es erscheint, wenn auf ein Bild geklickt wird

Ich habe die function sowohl in den Header Scripts als auch in meiner functions.php Datei ausprobiert.

   function executeShortCode() {  }  

Solutions Collecting From Web of "Führen Sie einen Shortcode aus, wenn Sie auf ein Bild klicken"

Es ist sicherlich möglich, aber Sie werden wahrscheinlich eine Ajax-Anfrage auf dem Bild klicken, die wiederum den functionscode ausführt und die Ausgabe zurückgibt. Dies beinhaltet drei verschiedene Schritte, die Ajax-Anforderung an eine Aktion binden, die Ajax-Anforderung ausführen und die Antwort behandeln und tatsächlich das Skript schreiben, das die Anforderung verarbeitet. Diese Antwort deckt nicht den gesamten notwendigen Overhead ab. Sie müssen Ihr Skript korrekt lokalisieren, um die richtige URL zu generieren. Sie müssen Prüfungen hinzufügen, um sicherzustellen, dass die Anfrage echt ist. Dies sollte nicht nur Kopie sein / eingefügt.

Umgang mit dem Klick (js)

 jQuery(document).ready(function($) { $('#my_image_id').on('click',function() { // you need to, at a minimum, include a nonce here as well var data = { action: 'process_shortcode_on_image_click' } // change '/wp-admin/admin-ajax.php to the correct variable generated by wp_localize_script() $.post('/wp-admin/admin-ajax.php',data).done(function(response) { // do whatever you want with response, it will contain the shortcode output // maybe something like $('#my_popup_id').html(response); }); }) }) 

Die Anfrage an Aktionen hängen

Dies kann in functions.php oder einem Plugin geschehen, was bei jedem Laden der Seite ausgeführt wird.

 // these call the appropriate function based on the action passed from the data object in the js add_action( 'wp_ajax_process_shortcode_on_image_click_action', 'process_shortcode_on_image_click_ajax'); add_action( 'wp_ajax_nopriv_process_shortcode_on_image_click_action', 'process_shortcode_on_image_click_ajax'); 

Die Ajax-Anfrage bearbeiten

Dies kann in functions.php oder einem Plugin geschehen, was bei jedem Laden der Seite ausgeführt wird.

 function process_shortcode_on_image_click_ajax() { // you should check for a nonce and do other validation here to make sure this is a legit request echo do_shortcode('[yourshortcode]'); die(); } 

Weitere Informationen finden Sie unter Handhabung von Ajax in Plugins aus dem Codex und den Dokumenten auf wp_localize_script

Ich hatte das gleiche Problem. Irgendwie konnte ich es mit dem folgenden Plugin lösen

https://wordpress.org/plugins/anything-popup/

Sie können Popup-Titel / Link / Bild angeben und im Inhalt das Shortcode des Formulars anzeigen. und rufen Sie den Popup-Shortcode auf, wo auch immer der Text / Link / Bild platziert wird. Wenn Sie auf eines dieser Elemente klicken, wird ein Popup mit dem erforderlichen Inhalt angezeigt.