X

Listarea Personalizată a Tuturor Fișierelor Audio din Biblioteca Media

Fragmente de IsItWP

Căutați o modalitate de a adăuga o metabox în meniul ecranului de editare a postărilor dvs. care să conțină toate fișierele audio? Deși probabil există un plugin pentru asta, am creat un fragment de cod rapid pe care îl puteți folosi pentru a adăuga o metabox personalizată care listează toate fișierele audio din biblioteca media în WordPress.

Instrucțiuni:

Tot ce trebuie să faceți este să adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului:

	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];
	}

Adăugați acest fragment de cod pentru a afișa URL-ul audio specificat în fișierul șablonului dvs. WordPress.

<? 
        audio_file_url() 
?>

Notă: Dacă aceasta este prima dată când adăugați fragmente de cod în WordPress, consultați ghidul nostru despre cum să adăugați corect fragmente de cod în WordPress, pentru a nu vă defecta accidental site-ul.

Dacă ți-a plăcut acest fragment de cod, te rugăm să consulți și celelalte articole de pe site, cum ar fi: Cele mai bune 19 pluginuri WordPress pentru fotografi și 30 de moduri de a câștiga bani cu blogging online.

Comentarii   Lasă un răspuns

  1. Michael Wilhelmsen January 25, 2014 at 3:45 pm

    Salut Kevin, ai putea să-mi spui cum pot obține URL-ul pentru a-l afișa ca un scurt cod audio în tema mea?

  2. Salut,

    În primul rând, acest lucru este genial, cred că ceva de genul acesta ar trebui să facă parte din funcționalitatea de bază a WordPress.

    M-am uitat la asta să văd dacă îl pot folosi ca ghid pentru ceva ce fac. Mă întreb dacă există o modalitate de a adapta acest lucru pentru a afișa categorii de linkuri în loc de fișiere media? Metabox-urile cu verificări și câmpuri îmi sunt familiare, dar dropdown-urile sunt noi pentru mine și mă joc cu get_terms(link_category), dar este puțin peste mine cum să-l integrez într-o soluție ca aceasta.

    Aveți idei? Dacă nu, e în regulă.

    Mulțumesc!

    1. Salut Jen,
      Ce încerci să faci? Dacă îmi trimiți un email rapid despre asta, ar trebui să te pot ajuta să pornești lucrurile.
      http://wpsnipp.com/index.php/contact/

  3. Mulțumesc mult! Acesta este exact ceea ce aveam nevoie!

    1. Hei Doug, grozav  mă bucur că îți place fragmentul.

  4. Salut,
    Mersi pentru postarea ta.
    Am o întrebare: cum afișez numele fișierului în loc de URL-ul fișierului.
    Scuze pentru engleza mea slabă.
    Anne

    1. Salut Anne, Vei observa pe liniile 24 și 26 – $file->guid schimbă a doua instanță pe fiecare linie sau guid cu post_title, de exemplu:    $file->post_title

      linie 24
      ———-

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

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

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

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

      1. Salut Kevin,
        Mulțumesc mult pentru ajutorul tău!
        Anne

        1. Nicio problemă Anne, bucură-te de fragmentele WordPress,

  5. ei bine, sfaturi bune. Există vreun site eșantion care a folosit deja cu succes scriptul tău?

    1. E greu de știut pentru că multor oameni le place acest fragment, dar din moment ce este un fragment de administrator, este greu de spus.

  6. Salut Kevin, am o cerere care s-ar putea referi și la acest articol. Sper că ai putea să o analizezi și să iei în considerare dacă ai putea publica un articol despre ea.

    Utilizatorii mei folosesc câmpuri personalizate pentru a atașa fișiere precum pdf, word etc. postărilor lor. Ar fi minunat dacă aș putea face ca cititorii să înțeleagă mai ușor că acesta este un fișier, mai degrabă decât un link către alte site-uri, adăugând automat o pictogramă în partea stângă a titlului fișierului.
    De exemplu, un utilizator încarcă un fișier pdf și sub conținut (front-end) se află titlul fișierelor și o pictogramă pdf lângă titlu. De obicei folosesc plugin-ul Custom Field Template.

    Apreciez preocuparea ta.

    1. Salut Zeb, poți face acest tip de lucru cu javascript,
      http://cool-javascripts.com/jquery/add-icons-to-your-links-automatically-using-jquery-css.html

      Funcționează foarte bine.  totuși voi analiza o versiune actualizată a acestui fragment.

      1. Mulțumesc pentru răspuns Kevin.
         
        Așa cum ai afirmat deja, necesită o actualizare. Folosește jQuery 1.2.6, care este depășit și nu sunt sigur dacă este optimizat pentru Wordpress și probleme de securitate. Ar fi amabil din partea ta dacă ai putea publica o actualizare pentru acesta.  

        Noroc

        1. Salut Zeb,
          Postez o actualizare în curând, însă nu folosește JQuery, deci asta nu ar trebui să fie o problemă.

Adaugă un comentariu

Suntem bucuroși că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de confidențialitate, iar toate linkurile sunt nofollow. NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.

Lista de verificare pentru lansarea WordPress

Lista de verificare finală pentru lansarea WordPress

Am compilat toate elementele esențiale de verificare pentru lansarea următorului dvs. site WordPress într-o singură carte electronică la îndemână.
Da, trimite-mi eBook-ul gratuit!