web-dev-qa-db-fra.com

Comment insérer un lecteur audio dans une publication ou une page?

J'ai un blog que j'utilise parfois pour des clips audio. Je veux mettre un lecteur audio sur la première page de mon blog.

Comment puis-je mettre le lecteur après le titre ou intégrer son code dans des extraits de post?

2
kadar

Option de plugin

Lors de la recherche d'un plugin, il est important de vérifier:

  • Compatible jusqu'à , prend en charge la version actuelle de WordPress?
  • Dernière mise à jour , il y a trop longtemps?
  • Support , trop de rapports de bugs? Niveau de support dans le forum ou dans la page officielle du plugin.
  • Compatibilité , si le plugin n'a pas été mis à jour depuis un certain temps ou s'il n'est pas compatible avec la version actuelle de WP, vérifiez les versions précédentes de WordPress. Parfois, le plugin n'est pas mis à jour car il fonctionne simplement .

Fais le toi-même

Vous contrôlez ce qui se passe et quand cela se produit.

Ici, je crée une fonction qui imprimera une balise audio Html5 en fonction de deux fichiers audio téléchargés dans une publication ou une page, une mp3 et une ogg.

Tutoriels de référence: [un] et [deux]

Dans les fichiers de modèle de thème (single.php, page.php, etc.), placez la fonction print_audio_attachments_as_html5 comme ceci:

<header class="entry-header">
    <h1 class="entry-title"><?php the_title(); ?></h1>
</header>
<?php print_audio_attachments_as_html5( $post->ID ); ?>
<div class="entry-content">
    <?php the_content(); ?>

Notez que la fonction est placée à l'intérieur de la boucle , donc $post->ID est disponible.

Mettez la fonction suivante à la fin de votre fichier de fonctions de thème
/wp-content/themes/your-theme/functions.php
vérifier les commentaires dans le code

function print_audio_attachments_as_html5( $post_id )
{
    // Parameters for our search
    $args_mp3 = array(   
        'post_parent'       => $post_id,
        'post_type'         => 'attachment',
        'numberposts'       => 1, // only one file
        'post_mime_type'    => 'audio/mpeg', // Mp3 audio mime type
    );
    $args_ogg = array(   
        'post_parent'       => $post_id,
        'post_type'         => 'attachment',
        'numberposts'       => 1,
        'post_mime_type'    => 'audio/ogg', // Firefox does not supports Mp3
    );

    // Get audio files
    $mp3 = get_children( $args_mp3 );
    $ogg = get_children( $args_ogg );

    // If there's any result in one of the get_children, execute code
    if( $mp3 || $ogg )
    {
        // Start Audio tag
        echo '<audio loop="loop" autoplay="autoplay" controls="controls">';

        // Mp3 source
        if( $mp3 ) {
            $id   = array_pop( array_keys( $mp3 ) );
            $mp3_url = wp_get_attachment_url( $id ); 
            echo '<source src="' . $mp3_url . '" />';
        }

        // Ogg source
        if( $ogg ) {
            $id   = array_pop( array_keys( $ogg ) );
            $ogg_url = wp_get_attachment_url( $id ); 
            echo '<source src="' . $ogg_url . '" />';
        }

        // Close Audio tag
        echo '</audio>';
    }
}

Questions connexes

Informations utiles

1
brasofilo

Si vous êtes sur WordPress.com, vous avez le shortcode [URL audio] à votre disposition.

Si vous êtes sur WordPress.org, vous pouvez installer le plugin Jetpack pour obtenir ce shortcode. Le code court détermine si votre navigateur prend en charge Flash ou HTML 5 et choisit le lecteur approprié.

Il existe un plugin alternatif appelé "Shortpack" qui vous donne simplement les codes courts de Jetpack si vous ne souhaitez pas utiliser les autres fonctionnalités de Jetpack.

0
O. Jones