Möglichkeit, Mediathek im Frontend anzuzeigen

Gibt es einen PHP-Code, um den Medienbibliotheksbereich im Frontend anzuzeigen?

Der Code sollte den gesamten Backend-Medienbibliotheksabschnitt zum Frontend anzeigen, so wie ich den Bildfilter nach den Kategorien und Tags upload, edit,delete functionen im Backend auch benötigt, um alle diese Abschnitte im Frontend anzuzeigen.

Gibt es etwas in php oder WordPress zu tun?

Solutions Collecting From Web of "Möglichkeit, Mediathek im Frontend anzuzeigen"

Soweit ich das verstanden habe, habe ich ein einfaches System für Sie geschrieben. Bitte tragen Sie die folgenden Codes in Ihre functions.php

 add_action( 'wp_enqueue_scripts', 'the_dramatist_enqueue_scripts' ); add_filter( 'ajax_query_attachments_args', 'the_dramatist_filter_media' ); add_shortcode( 'the_dramatist_front_upload', 'the_dramatist_front_upload' ); /** * Call wp_enqueue_media() to load up all the scripts we need for media uploader */ function the_dramatist_enqueue_scripts() { wp_enqueue_media(); wp_enqueue_script( 'some-script', get_template_directory_uri() . '/js/media-uploader.js', // if you are building a plugin // plugins_url( '/', __FILE__ ) . '/js/media-uploader.js', array( 'jquery' ), null ); } /** * This filter insures users only see their own media */ function the_dramatist_filter_media( $query ) { // admins get to see everything if ( ! current_user_can( 'manage_options' ) ) $query['author'] = get_current_user_id(); return $query; } function the_dramatist_front_upload( $args ) { // check if user can upload files if ( current_user_can( 'upload_files' ) ) { $str = __( 'Select File', 'text-domain' ); return ''; } return __( 'Please Login To Upload', 'text-domain' ); } 

Erstellen Sie in Ihrem js einen Ordner mit dem Namen js und erstellen Sie im Ordner eine Datei namens media-uploader.js . Platzieren Sie in der Datei media-uploader.js uploader.js den folgenden Code

 (function($) { // When the DOM is ready. $(function() { var file_frame; // variable for the wp.media file_frame // attach a click event (or whatever you want) to some element on your page $( '#frontend-button' ).on( 'click', function( event ) { event.preventDefault(); // if the file_frame has already been created, just reuse it if ( file_frame ) { file_frame.open(); return; } file_frame = wp.media.frames.file_frame = wp.media({ title: $( this ).data( 'uploader_title' ), button: { text: $( this ).data( 'uploader_button_text' ), }, multiple: false // set this to true for multiple file selection }); file_frame.on( 'select', function() { attachment = file_frame.state().get('selection').first().toJSON(); // do something with the file here $( '#frontend-button' ).hide(); $( '#frontend-image' ).attr('src', attachment.url); }); file_frame.open(); }); }); })(jQuery); 

Eigentlich gibt dir das Ganze oben einen the_dramatist_front_upload namens the_dramatist_front_upload . Platziere diesen Shortcode dort, wo du deinen Media Manager sehen möchtest. Und es zeigt den Medienmanager nur dem angemeldeten Benutzer an. Hoffe, das Ding hilft dir. Ich habe mir die Skripte von hier ausgeliehen