• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Send_To_Editor mehrfach verwenden

deathNap

New member
Hallo liebe Gemeinde,

ich stehe vor einem großen Problem. Ich versuche gerade meine erste Theme Options Page für ein eigenes Wordpress Theme umzusetzen.

Auf dieser Theme Options Page möchte ich gerne ein Logo sowie ein Startbild angeben können.
Mit Hilfe des Wordpress Media Uploaders soll es möglich sein, die Bilder hoch zu laden oder aus der bestehenden mediathek aus zu wählen.

Knackpunkt sind folgende Zeilen:

Code:
jQuery('#logoImg_button').click(function() {
			formfield = jQuery('#logoImg').attr('name');
			tb_show('', 'media-upload.php?type=image&TB_iframe=true');
			return false;
		});
		
		jQuery('#homeImg_button').click(function() {
			formfield = jQuery('#homeImg').attr('name');
			tb_show('', 'media-upload.php?type=image&TB_iframe=true');
			return false;
		});
	
		window.send_to_editor = function(html) {
			imgurl = jQuery('img',html).attr('src');
			jQuery('#logoImg').val(imgurl);
			tb_remove();
		}
		
		window.send_to_editor = function(html) {
			imgurl = jQuery('img',html).attr('src');
			jQuery('#homeImg').val(imgurl);
			tb_remove();
		}

Das Formular sieht wie folgt aus:
Bildschirmfoto 2015-09-28 um 16.00.30.png

PROBLEM JETZT:
Wenn ich über den Button "Logo auswählen" ein Logo/Bild auswähle und im Fenster des Media-Uploaders von Wordpress auf "In Beitrag einfügen" klicke, wird die URL des Bildes in die Zeile für das Startbild geladen. Das Problem ist die doppelte "send_to_editor" Funktion.

Ich weiß nun, dass ich den Befehl "send_to_editor" so, nicht zwei Mal aufrufen darf. Ich brauche also eine Lösung, damit der Befehl "send_to_editor" variable funktioniert.

Ich hoffe, ich habe mein Problem detailliert genug beschrieben und jemand von Euch kann mir eventuell weiter helfen.

Lieben Gruß

Deathnap
 
Kann man in dem tb_show() nicht direkt spezifieren, welche Funktion ausgeführt werden soll, wenn etwas ausgewählt wurde? Oder wenigstens einen Parameter übergeben, der dann an das send_to_editor übergeben wird, damit du die beiden Aufrufe unterscheiden kannst?
 
Hallo, Danke für deine Antwort.
Die Funktion tb_show() ist wie folgt aufgebaut:
tb_show (thickbox_show)
Es können ihr zwei Werte übergeben werden.
tb_show('Titel/Beschreibung für die Thickbox','Datei Pfad').

Ich habe also leider keine Möglichkeit diese Funktion "anders" zu nutzen. Ich habe lediglich ein Topic via Google gefunden, wo ich aber ehrlich gesagt nicht durchblicke. Der Begriff um den es geht nennt sich "multiple use of send_to_editor".
Hier der Link: jquery - How to handle multiple instance of "send_to_editor" js function - WordPress Development Stack Exchange

Danke und Gruß
 
Die Lösung in dem Link sollte funktionieren. Auch wenn sie nicht sauber ist... aber das ganze System ist nicht ganz sauber.

D.h. du bewegst die Zuweisungen an das window.send_to_editor einfach in den click-Eventhandler. (Ob du die alten Werte zwischenspeichern willst ist jetzt deine Sache - ich würde es machen, da es die Sache wenigstens etwas sauberer macht.)
 
Zurück
Oben