it-swarm.com.de

wp ist kein definierter Fehler bei der Verwendung von wp.media zum Erstellen eines benutzerdefinierten Bild-Uploaders

Ich versuche, einen benutzerdefinierten Medien-Uploader in einem benutzerdefinierten Metafeld für einen benutzerdefinierten Beitragstyp zu erstellen. Das ist eine Menge Brauch. Ich habe eine Javascript-Datei in die Warteschlange gestellt, in der die Klasse wp.media ausgeführt wird, wenn auf die Schaltfläche Bild hinzufügen geklickt wird. Beim Testen der Schaltfläche wird folgende Fehlermeldung angezeigt: "Uncaught ReferenceError: wp ist nicht definiert". Ich habe mehrere Ressourcen gefunden, die dieses Problem durch Hinzufügen von wp_enqueue_media () gelöst haben. Aber wenn ich das versuche, wird das Problem nicht behoben. Bitte helfen Sie?

Erstellung der Meta-Box/Skript in der Warteschlange:

function cns_add_custom_metabox(){
    add_meta_box( 'fet-media-fields', 'Listing Media', 'cns_display_media' );
}
add_action( 'add_meta_boxes', 'cns_add_custom_metabox' ); 

function cns_display_media( $post ){ 

    ?>

    <div id="metabox-wrapper">
        <img id="image-tag">
        <input type="hidden" id="img-hidden-field" name="custom_image_data">
        <input type="button" id="image-upload-button" class="button" value="Add Image">
        <input type="button" id="image-delete-button" class="button" value="Remove Image">

    </div>


    <?php
}

function register_admin_script() {
    wp_enqueue_script( 'cns-image-upload.js', get_stylesheet_directory_uri() . '/js/cns-image-upload.js', array('jquery') );
}

add_action( 'admin_enqueue_scripts', 'register_admin_script' );

Javascript-Datei - cns-image-upload.js:

var addButton = document.getElementById( 'image-upload-button' );
var deleteButton = document.getElementById( 'image-delete-button' );
var img = document.getElementById( 'image-tag' );
var hidden = document.getElementById( 'img-hidden-field' );
var customUploader = wp.media({
    title: 'Select and Image',
    button:{
        text: 'User this Image'
    },
    multiple: false
});

addButton.addEventListener( 'click', function(){
    if( customUploader ){
        customUploader.open();
    }
} );
1
Christy

Herausgefunden! Ich habe den Javascript-Code nicht mit folgendem Code umbrochen:

jQuery(document).ready( function($){ });

3
Christy