X

Metabox Personalizzato Elenca Tutti i File Audio dalla Libreria Media

Snippet di IsItWP

Stai cercando un modo per aggiungere una metabox al menu della schermata di modifica dei tuoi post contenente tutti i file audio? Sebbene esista probabilmente un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per aggiungere una metabox personalizzata che elenca tutti i file audio dalla libreria multimediale in WordPress.

Istruzioni:

Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:

	add_action("admin_init", "audio_init");
	add_action('save_post', 'save_audio_link');

	function audio_init(){
		add_meta_box("mp3-audio", "MP3 AUDIO", "audio_link", "post", "normal", "low");
		}

	function audio_link(){
		global $post;
		$custom  = get_post_custom($post->ID);
		$link    = $custom["link"][0];
		$count   = 0;

		echo '<div class="link_header">';

		$query_audio_args = array(
			'post_type' => 'attachment',
			'post_mime_type' =>'audio',
			'post_status' => 'inherit',
			'posts_per_page' => -1,
			);

		$query_audio = new WP_Query( $query_audio_args );
		$audio = array();

		echo '<select name="link">';
		echo '<option class="audio_select">SELECT AUDIO FILE</option>';
		foreach ( $query_audio->posts as $file) {
		   if($link == $audio[]= $file->guid){
		      echo '<option value="'.$audio[]= $file->guid.'" selected="true">'.$audio[]= $file->guid.'</option>';
			 }else{
		      echo '<option value="'.$audio[]= $file->guid.'">'.$audio[]= $file->guid.'</option>';
			 }
			$count++;
		}
		echo '</select><br /></div>';
		echo '<p>Selecting an audio file from the above list to attach to this post.</p>';
		echo '<div class="audio_count"><span>Files:</span> <b>'.$count.'</b></div>';
	}
	function save_audio_link(){
		global $post;
		if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){ return $post->ID; }
		update_post_meta($post->ID, "link", $_POST["link"]);
	}

	add_action( 'admin_head', 'audio_css' );
	function audio_css() {
		echo '<style type="text/css">
		.audio_select{
			font-weight:bold;
			background:#e5e5e5;
			}
		.audio_count{
			font-size:9px;
			color:#0066ff;
			text-transform:uppercase;
			background:#f3f3f3;
			border-top:solid 1px #e5e5e5;
			padding:6px 6px 6px 12px;
			margin:0px -6px -8px -6px;
			-moz-border-radius:0px 0px 6px 6px;
			-webkit-border-radius:0px 0px 6px 6px;
			border-radius:0px 0px 6px 6px;
			}
		.audio_count span{color:#666;}
			</style>';
	}

	function audio_file_url(){
		global $wp_query;
		$custom = get_post_custom($wp_query->post->ID);
		echo $custom['link'][0];
	}

Aggiungi questo snippet di codice per visualizzare l'URL audio specificato nel tuo file del modello WordPress.

<? 
        audio_file_url() 
?>

Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come aggiungere correttamente snippet di codice in WordPress, in modo da non compromettere accidentalmente il tuo sito.

Se ti è piaciuto questo snippet di codice, prendi in considerazione la lettura dei nostri altri articoli sul sito come: 19 migliori plugin WordPress per fotografi e 30 modi per guadagnare con il blogging online.

Commenti   Lascia una risposta

  1. Michael Wilhelmsen 25 gennaio 2014 alle 15:45

    Ciao Kevin, potresti dirmi come posso ottenere l'URL da visualizzare come shortcode audio nel mio tema?

  2. Ciao,

    Prima di tutto, questo è brillante, penso che qualcosa del genere dovrebbe far parte della funzionalità principale di WordPress.

    Ho esaminato questo per vedere se posso usarlo come guida per qualcosa che sto facendo. Mi chiedo se c'è un modo per adattarlo per mostrare categorie di link invece di file multimediali? Le metabox con caselle di controllo e campi mi sono familiari, ma i menu a discesa sono nuovi per me, e sto giocando con get_terms(link_category) ma è un po' troppo per me capire come integrarlo in una soluzione come questa.

    Qualche idea? Se no, va bene.

    Grazie!

    1. Ciao Jen,
      Cosa stai cercando di fare? se mi mandi una rapida email al riguardo, dovrei essere in grado di aiutarti a iniziare.
      http://wpsnipp.com/index.php/contact/

  3. Grazie mille! Questo è esattamente quello che mi serviva!

    1. Ehi Doug, fantastico  sono contento che ti piaccia lo snippet.

  4. Ciao,
    Grazie per il tuo post.
    Ho una domanda: come visualizzare il nome del file invece dell'URL del file.
    Scusa per il mio cattivo inglese.
    Anne

    1. Ciao Anne, noterai alla riga 24 e 26 – $file->guid cambia la seconda istanza su ogni riga o guid con post_title, ad esempio: $file->post_title

      riga 24
      ———-

      echo ‘guid.'” selected=”true”>>’.$audio[]= $file->guid.”;

      a
      echo ‘guid.'” selected=”true”>>’.$audio[]= $file->post_title.”;

      riga 26:
      ———–
      echo ‘guid.'”>>’.$audio[]= $file->guid.”;

      a
      echo ‘guid.'”>>’.$audio[]= $file->post_title.”;

      1. Ciao Kevin,
        Grazie mille per il tuo aiuto!
        Anne

        1. Nessun problema Anne, goditi gli snippet di WordPress,

  5. beh, bei suggerimenti. C'è qualche sito di esempio che ha già utilizzato con successo il tuo script?

    1. È difficile da sapere perché a molte persone piace questo snippet, ma dato che è uno snippet per amministratori è difficile dirlo.

  6. Ciao Kevin, ho una richiesta che potrebbe anche essere correlata a questo articolo. Spero che tu possa dargli un'occhiata e considerare se potresti pubblicare un articolo al riguardo.

    I miei utenti utilizzano campi personalizzati per allegare file come pdf, word, ecc. ai loro post. Sarebbe meraviglioso se potessi rendere un po' più facile per i lettori capire che si tratta di un file piuttosto che di un link ad altri siti aggiungendo automaticamente un'icona a sinistra del titolo del file.
    Ad esempio, un utente carica un file pdf e sotto il contenuto (front-end) c'è il titolo del file e un'icona pdf accanto al titolo. Di solito uso il plugin Custom Field Template.

    Apprezzo la tua preoccupazione.

    1. Ciao Zeb, puoi fare questo tipo di cose con javascript,
      http://cool-javascripts.com/jquery/add-icons-to-your-links-automatically-using-jquery-css.html

      Funziona molto bene.  tuttavia darò un'occhiata anche a una versione aggiornata di questo snippet.

      1. Grazie per la risposta Kevin.
         
        Come hai già affermato, necessita di un aggiornamento. Utilizza jQuery 1.2.6 che è obsoleto e non sono abbastanza sicuro se sia ottimizzato per Wordpress e per le questioni di sicurezza. Sarebbe gentile da parte tua se potessi pubblicare un aggiornamento per questo.  

        Saluti

        1. Ciao Zeb,
          Pubblicherò presto un aggiornamento, tuttavia non utilizza JQuery, quindi non dovrebbe essere un problema.

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Checklist per il lancio di WordPress

La Guida Definitiva per il Lancio di WordPress

Abbiamo raccolto tutti gli elementi essenziali della checklist per il lancio del tuo prossimo sito web WordPress in un comodo ebook.
Sì, Inviami l'eBook Gratuito!