Ich habe einen benutzerdefinierten Post mit einem Meta-Tag, für den ein Datei-Upload erforderlich ist (für Videodateien). Ich frage mich, wie man eine "Upload" -Schaltfläche, die auf den WordPress-Medien-Uploader verweist und die URL der ausgewählten hochgeladenen Datei auf das Textfeld setzt, das die Verknüpfung mit der Upload-Schaltfläche verursacht hat, korrekt hinzufügt.
Ich suche keinen Code zum Erstellen der eigentlichen Meta-Tag-Option, sondern nach einer Möglichkeit, eine Wordpress-Medien-Upload-Schaltfläche ordnungsgemäß hinzuzufügen.
Antworten:
Siehe dieses Media Uploader-Skelett . Sie können es auch in Ihrem benutzerdefinierten Markup verwenden, z. B. Meta Box.
Ein Hinweis, überprüfen Sie, dass Sie nur die Skripte auf der Seite verwenden, auf der Sie Ihre Meta Box aktivieren. Ansonsten ist es oft ein Problem auf den Standardseiten und beim Uploader.
Versuchen Sie nun, die wichtigen Teile zu löschen, um den Uploader in Ihr benutzerdefiniertes Teil aufzunehmen.
Fügen Sie zunächst eine Schaltfläche in das Meta-Feld ein:
Stellen Sie nun die Skripte in die Warteschlange:
Der letzte Teil ist Ihr benutzerdefiniertes Skript, um die Thickbox und den Uploader darin zu verwenden.
quelle
admin_print_scripts
sagt, dassadmin_print_scripts
hauptsächlich verwendet, um Inline-Javascript zu Echo.admin_print_scripts
sollte nicht zum Einreihen von Stilen oder Skripten auf den Admin-Seiten verwendet werden. Verwenden Sieadmin_enqueue_scripts
stattdessen.#upload_image
wird nie ausgefülltLösung:
1) Fügen Sie in Ihrer functions.php den Block zum Registrieren der erforderlichen Skripte hinzu:
2) und dann den Metabox- Block hinzufügen :
PS: Wenn Sie mehrere Felder benötigen, können Sie dies ganz einfach tun: http://pastebin.com/raw/xpU1ch2W
quelle