Bild in der wp_options-Tabelle speichern

Ich möchte ein Bild auf meiner Seite für benutzerdefinierte Einstellungen speichern. dh dieses Bild sollte das Logo sein, das auf die von mir generierten PDF-Dateien gedruckt werden soll. Deshalb möchte ich das Bild (den Bildlink) in der Tabelle wp_options speichern.

Ich möchte die Standard-Wordpress-Bildanhangsfunktionen verwenden, um das Bild auszuwählen / hochzuladen. Also möchte ich die Benutzerfreundlichkeit wie der Benutzer ein Thumbnail zu seinem Beitrag hinzufügen.

Kann mir jemand helfen?

Vielen Dank.

Solutions Collecting From Web of "Bild in der wp_options-Tabelle speichern"

Nach einiger Zeit habe ich herausgefunden, wie ich mein Problem lösen kann.

Kurz gesagt, ich muss Javascript verwenden, um den WP-Media Uploader zu öffnen. Und in meinen Optionen speichere ich nur die Anhangs-ID.

Hier ist mein Code:

HTML / PHP:

 < ?php $options = get_option( 'mysettings' ); $image_id = esc_attr__( $options['image_id']); ?>  

und mein Javascript-Code:

 jQuery(document).ready(function($) { $("#delete_img-btn").on("click", function(e) { e.preventDefault(); $('#logo_container').html(""); $("#delete_img-btn").hide(); }); $('#upload_img-btn').on("click", function(e) { e.preventDefault(); var $el = jQuery( this ); var optionImageFrame = wp.media({ title: $el.data( 'choose' ), button: { text: $el.data( 'update' ) }, states: [ new wp.media.controller.Library({ title: $el.data( 'choose' ), filterable: 'all', // mutiple: true if you want to upload multiple files at once multiple: false }) ] }); optionImageFrame.on('select', function(e){ // This will return the selected image from the Media Uploader, the result is an object var uploaded_image = optionImageFrame.state().get('selection').first(); // We convert uploaded_image to a JSON object to make accessing it easier // Output to the console uploaded_image var attachment = uploaded_image.toJSON(); var image_url = attachment.url; var image_id = attachment.id; $('#option_image_id').val(image_id); $('#logo_container').append(''); $("#delete_img-btn").show(); }); optionImageFrame.open(); }); });